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

Python: Opening a file within a print() function

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

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

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

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

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

只需使用上下文管理器:

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

使用 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='')

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