显式关闭文件重要吗?在Python中,如果您打开一个文件而不调用close(),或者关闭文件但不使用try-finally或者“with“语句,这是一个问题吗?还是依赖Python垃圾收集来关闭所有文件就足够了?例如,如果您这样做的话:for line in open("filename"):
# ... do stuff .....这是否是一个问题,因为文件永远无法关闭,并且可能会发生异常,从而阻止它被关闭?或者它一定会在结束时关闭。for语句,因为文件超出了作用域?
3 回答
侃侃无极
TA贡献2051条经验 获得超10个赞
with open("filename") as f: for line in f: # ... do stuff ...
哔哔one
TA贡献1854条经验 获得超8个赞
慕容3067478
TA贡献1773条经验 获得超3个赞
Run可能会耗尽文件描述符,尽管不太可能,但想象一下这样的bug。 您可能无法在某些系统上删除上述文件,例如Win 32 如果您运行的是CPython以外的任何东西,则不知道何时为您关闭了文件 如果以写或读-写模式打开文件,则不知道何时刷新数据。
添加回答
举报
0/150
提交
取消