Согласно документации python io , буферизация обрабатывается в соответствии с параметром буферизации функции open.
Поведение по умолчанию в этом случае будет либо размером блока устройства, либо io.DEFAULT_BUFFER_SIZE, если размер блока определить невозможно. Это, вероятно, что-то вроде 4096 байт.
Короче говоря, этот пример ничего не напишет. Если бы вы писали что-то достаточно длинное, чтобы буфер был записан один или два раза, у вас было бы кратно написанному размеру буфера. И вы всегда можете вручную очистить буфер с помощью flush ().
(Если вы укажете буферизацию как 0, а режим файла как двоичный, вы получите «This i». Это единственный способ)
Как указал @sven, python не выполняет буферизацию. После завершения программы все дескрипторы открытых файлов закрываются и очищаются операционной системой.