在这个简单的文件IO操作中,x.txt
结束时f.read
关闭了吗?
另外,我如何检查该文件是否仍然打开?
with open("x.txt") as f:
data = f.read()
答案 0 :(得分:3)
最好在处理文件时使用with关键字 对象。这样做的好处是文件在之后正确关闭 即使在途中出现异常,它的套件也会完成。它是 也比编写等效的try-finally块短得多:
答案 1 :(得分:2)
当控件离开with语句的代码块时,f
引用的文件对象将被关闭。实际上,这就是您首先使用with语句打开文件的原因。除了在完成后自动关闭文件,该构造没有用处。
您可以打印f.closed
flag:
with open("x.txt") as f:
data = f.read()
## Still inside with block ##
print f.closed # Output: False
## Outside of with block ##
print f.closed # Output: True