Что делает python с оператором при открытии файлов?

Я думаю что

with open('file.txt','r') as f:
    pass

закрывает файл f, но как я могу это доказать? Мой коллега думает, что он очистит файл, если он открыт для записи.

1 ответ

В документации четко указано, что файлы будут закрыты после завершения оператора with.

Однако, если этого недостаточно, вот способ, который вы можете проверить сами;

Файлы имеют .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.

Это должно служить достаточным доказательством того, что файл действительно закрыт.

Другие вопросы по тегам