@Wynell_ru

Как заставить писаться в файл сразу после его открытия?

file = open("test.txt", "w+")
file.write("5!")

Если файла test.txt нет, то он создается, но "5!" в него не записывается.
Но если test.txt уже существует, то "5!" записывается
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
@Wwwoper
После окончания работы с файлом его обязательно нужно закрыть с помощью метода close:

>>>
>>> file.close()
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@MaximPython
У меня все работает и записывается даже когда файл не существует с вашим скриптом.
Можете попробовать сделать так, может поможет:

import time
file = open("test.txt", "w+")
time.sleep(1)
file.write("5!")
Ответ написан
Комментировать
Интересный вопрос. Поигрался с режимами, и сложилось впечатление, режим "w+" использует буферизацию (возможно это верно для Python работающем под Windows, змей для других систем обитания под рукой нет). Сначала пишется в буфер в памяти, а потом этот буфер записывается в файл.
Запись буфера происходит при вызове методов file.flush() - запись буфера в файл, и file.close() - закрытие файла, буфер тоже записывается.

Вариант решения:

file = open("test.txt", "w+")
file.write("5!")
file.flush()


file.flush() не обязательно вызывать после каждой записи в файл, а тогда, когда возникнет необходимость.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы