open с with и без with
Есть два способа закрытия файла
- Насколько я понимаю, best practiсe является использование контекстного менеджера
with
:
with open('hello.txt', 'w') as outfile:
print('HELLO', file=oufile)
Как только файл "выходит" из with
, то он автоматически закрывается
- Другой способ:
reader = open('dog_breeds.txt')
try:
# Further file processing goes here
finally:
reader.close()
- Судя по ветке
with
необходим для того, чтобы не забыть закрыть файл и обеспечить сохранность данных открываемого файла, а также чтобы не было утечки ресурсов