在python中,当不能使用“with”时,确保关闭文件

2024-03-29 11:58:03 发布

您现在位置:Python中文网/ 问答频道 /正文

“如何确保在Python中关闭文件”的标准答案是将命令包装在“with”语句中,以便在退出“with”块时调用析构函数。你知道吗

但是如果您不能这样做,因为文件句柄需要在大量代码中保持打开状态,那该怎么办呢?例如,在对象构造函数中打开文件句柄,将其保存到对象属性,然后在许多对象方法中引用文件句柄。你知道吗

可以将文件句柄的打开位置移动到方法本身,但基本上在这种情况下,每次调用方法时我都会打开/关闭文件,这样效率要低得多。你知道吗

我试过在object析构函数中放置一个“close”命令(“del”方法),但这不起作用。你知道吗


Tags: 文件对象方法函数代码命令属性object
1条回答
网友
1楼 · 发布于 2024-03-29 11:58:03

一个肮脏但简单的胜利是在打开文件名时记录文件名,并确保file.close(...)出现在末尾。保留一个列表或包装open()函数(由this post建议)可以完成这项工作。你知道吗

Postcheck what files are open in Python 建议了几种解决方案,如包装内置的文件对象、命令行方法和模块psutil,等等,也许其中一些适合您的情况。你知道吗

相关问题 更多 >