相关疑难解决方法(0)

547
推荐指数
6
解决办法
50万
查看次数

明确关闭文件重要吗?

在Python中,如果您在未调用的情况下打开文件close(),或者关闭文件但未使用try- finally或" with"语句,这是一个问题吗?或者它是否足以作为编码实践依赖Python垃圾收集来关闭所有文件?例如,如果有人这样做:

for line in open("filename"):
    # ... do stuff ...
Run Code Online (Sandbox Code Playgroud)

...这是一个问题,因为文件永远不会被关闭,并且可能发生一个阻止它被关闭的异常?或者它肯定会在for声明结束时关闭,因为文件超出了范围?

python garbage-collection file

141
推荐指数
4
解决办法
6万
查看次数

在Python文件对象上使用迭代器时,是否需要close()

执行以下操作并不显式处理文件对象并调用其close()方法是不好的做法吗?

for line in open('hello.txt'):
    print line
Run Code Online (Sandbox Code Playgroud)

注意 - 这是针对尚未拥有该with语句的Python版本.

我问,因为Python文档似乎推荐这个: -

f = open("hello.txt")
try:
    for line in f:
        print line
finally:
    f.close()
Run Code Online (Sandbox Code Playgroud)

这似乎比必要的更冗长.

python iterator file

42
推荐指数
7
解决办法
4万
查看次数

标签 统计

python ×3

file ×2

garbage-collection ×1

iterator ×1

yaml ×1