我是否必须显式关闭仅为在Jython中读取而打开的文件?

时间:2013-08-30 06:34:40

标签: python file-io jython

我有以下代码:

for line in open(fileName, 'r'):
    <do something>

最初,我认为没有必要关闭以只读方式打开的文件,但是在我读完this问题的答案之后,似乎我必须关闭它,因为Jython不使用引用计数,因此不会在循环结束时关闭文件。

在这种情况下,当我没有定义可以关闭的文件处理程序时,我该怎么做?是这样的方法(如上所述)打开和读取文件是错误的吗?

1 个答案:

答案 0 :(得分:1)

自己清理后最安全,最便携。只需保存文件句柄并在完成后将其关闭。

太糟糕了,目前Jython中没有with。那将是一个完美的解决方案。

# wouldn't it be nice if we could just...
with open(fileName, 'r') as fh:
    for line in fh:
        # do something ...