我在一个应该运行很长时间的程序中遇到错误,因为打开了太多文件。有什么方法可以让我跟踪哪些文件是打开的,这样我就可以偶尔打印该列表并查看问题出在哪里?
最佳答案
要以跨平台方式列出所有打开的文件,我建议psutil .
#!/usr/bin/env python
import psutil
for proc in psutil.process_iter():
print(proc.open_files())
原题隐式限制了对当前运行的进程的操作,可以通过psutil的Process类访问。
proc = psutil.Process()
print(proc.open_files())
最后,您需要使用具有相应权限的帐户运行代码以访问此信息,否则您可能会看到 AccessDenied 错误。
关于python - 检查在 Python 中打开了哪些文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2023608/