я так думаю
with open('file.txt','r') as f:
pass
закрывает файл f, но как я могу это доказать? Мой коллега думает, что он сбросит файл, если он открыт для записи.
я так думаю
with open('file.txt','r') as f:
pass
закрывает файл f, но как я могу это доказать? Мой коллега думает, что он сбросит файл, если он открыт для записи.
В документации четко указано, что файлы будут закрыты после заявление завершено.
Однако, если этого недостаточно, вот способ, которым вы можете убедиться сами;
Файлы имеют свойство .closed
, которое вы можете проверить.
with open("file.txt", "r") as f:
print(f.closed) # will print False
print(f.closed) # will print True
Это же свойство можно использовать при работе с файлами не-with
способом.
f = open("file.txt", "r")
print(f.closed) # will print False
f.close()
print(f.closed) # will print True.
Это должно служить достаточным доказательством того, что файл действительно закрывается.