close()
здесь происходит, когда объект file
освобождается из памяти, как часть его логики удаления. Поскольку современные Pythons на других виртуальных машинах - таких как 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