Python:在print()函数中打开文件

时间:2015-08-21 20:29:59

标签: python file printing buffer coding-efficiency

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

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

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

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

2 个答案:

答案 0 :(得分: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='')

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

答案 1 :(得分:1)

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

只需使用上下文管理器:

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