如果我在打开文件后没有存储引用,文件会发生什么?

时间:2015-07-31 09:31:08

标签: python file

正确使用文件对象时,您应该使用

显式关闭它
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'

0 个答案:

没有答案