0

我知道当你在 Python 中打开一个文件时,你必须总是关闭它。但是,我想知道如果您没有将文件分配给变量并且仅在打印函数中打开它会发生什么。

例子:print(open('file.txt','r').read())

有没有办法关闭在函数中打开的文件?

比 pythonic 更多的东西

F=open('file.txt','r')
print(F.read())
F.close()
4

2 回答 2

2

使用with构造。

with open('file.txt', 'r') as f:
    print(f.read())

如果文件非常大,我建议对其进行迭代并一次打印一行:

with open('file.txt', 'r') as f:
    for line in f:
        print(line, end='')

当然,如果文件那么大,将其打印到普通控制台可能没有用,但这种做法对于处理大文件非常有用。

于 2015-08-21T20:33:01.870 回答
1

所以打开这样的文件不是一个好主意。

只需使用上下文管理器:

with open('file.txt','r') as f:
    print(f.read())
于 2015-08-21T20:32:12.950 回答