正确使用文件对象时,您应该使用
显式关闭它f = open("file.txt")
f.use()
f.close()
或者使用with
方法确保文件无论什么
with open("file.txt") as f:
f.use()
但有时我只是想简单地抓取一个文件。也许我只是想从中拉出字符串然后丢弃文件。我有时会这样写:
fileStr = open("file.txt").read()
但是这既没有明确关闭文件,也没有使用with
关键字。文件是否在没有任何引用的情况下保持打开状态,或者Python是否智能地抛出文件?如果没有,有什么方法可以正确关闭它吗?我无法在阅读后关闭,因为将在字符串对象上尝试close
:
fileStr = open("file.txt").read().close()
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
open("file.txt").read().close()
AttributeError: 'str' object has no attribute 'close'