关闭文件的好方法

ssm*_*ssm 0 python

我们说,我们有以下代码:

from sys import exit

def parseLine(l):
    if '#' not in l: 
        print 'Invalid expresseion'
        exit(1)
    return l


with open('somefile.txt') as f:
    for l in f:
        print parseLine(l)
Run Code Online (Sandbox Code Playgroud)

(请注意,这是一个演示代码.实际的程序要复杂得多.)

现在,当我退出程序时,如何知道是否已安全关闭所有打开的文件?此时我只是假设文件已经关闭.目前我的程序工作正常,但我希望它们健壮,没有与未正确关闭的文件相关的问题.

kha*_*son 7

with带文件的块的主要好处之一是它会自动关闭文件,即使有异常.

https://docs.python.org/2/tutorial/inputoutput.html#methods-of-file-objects