Ответ 1
close()
здесь происходит, когда объект file
освобождается из памяти, как часть его логики удаления. Поскольку современные Python на других виртуальных машинах, например Java и .NET, не могут контролировать, когда объект освобожден из памяти, он уже не считается хорошим Python для open()
, как это, без close()
. Сегодня рекомендуется использовать оператор with
, который явно запрашивает close()
при выходе из блока:
with open('myfile') as f:
# use the file
# when you get back out to this level of code, the file is closed
Если вам не нужно имя f
для файла, вы можете опустить предложение as
из инструкции:
with open('myfile'):
# use the file
# when you get back out to this level of code, the file is closed