Понимание опции компилятора «Buffer Security Check / GS» в MSVC ++

Если вы назначаете объект файла переменной, вы можете явно закрыть его с помощью .close()

f = open('test.txt','r')
buf = f.readlines()
f.close()

Альтернативно (и в более общем случае), вы можете использовать ключевое слово with (Python 2.5 и выше), как указано в документах Python :

. Полезно использовать ключевое слово with при работе с файловыми объектами. Это имеет то преимущество, что файл правильно закрыт после завершения его набора, даже если в пути возникло исключение. Это также намного короче, чем запись эквивалентных блоков try-finally:

>>> with open('test.txt','r') as f:
...     buf = f.readlines()
>>> f.closed
True

10
задан Darren Engwirda 7 July 2011 в 07:45
поделиться