Запись на диск медленная, поэтому многие программы хранят записи в большие порции, которые они записывают одновременно.Это называется буферизация , и Python делает это автоматически, когда вы открываете файл.
Когда вы пишете в файл, вы фактически записываете в «буфер» в памяти.Когда он заполнится, Python автоматически запишет его на диск.Вы можете сказать ему «записать все в буфере на диск сейчас» с помощью
f.flush()
Это не совсем целая история, потому что операционная система, вероятно, также буферизует записи.Вы можете указать it записать буфер файла с помощью
os.fsync(f.fileno())
Наконец, вы можете указать Python не буферизовать определенный файл с помощью open(f, "w", 0)
или оставить только 1-строковый буфер с open(f,"w", 1)
.Естественно, это замедлит все операции с этим файлом, потому что запись идет медленно.