Как закрыть объект файла, который я никогда не назначал переменной? - PullRequest
3 голосов
/ 24 февраля 2012
from sys import argv
script, origin, destination = argv

open(destination, 'w').write(open(origin).read())

Как закрыть объекты файла назначения и источника?Или мне не о чем беспокоиться?

1 Ответ

6 голосов
/ 24 февраля 2012

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

Начиная с версии 2.5, Python имеет с оператором , который может сделать закрытие файла для вас:

from __future__ import with_statement # Only required for Python 2.5
with open(destination, 'w') as dest:
   with open(origin) as orig:
        dest.write(orig.read())
...