python debug open_files

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python debug open_files相关的知识,希望对你有一定的参考价值。

主要是遇到 Error 24, too many open files.

下面这种方法可以debug打开了哪些文件。

import __builtin__
openfiles = set()
oldfile = __builtin__.file
class newfile(oldfile):
    def __init__(self, *args, **kwargs):
        self.x = args[0]
        print "### OPENING %s ###" % str(self.x)            
        oldfile.__init__(self, *args, **kwargs)
        openfiles.add(self)

    def close(self):
        print "### CLOSING %s ###" % str(self.x)
        oldfile.close(self)
        openfiles.remove(self)
oldopen = __builtin__.open
def newopen(*args):
    return newfile(*args, **kwargs)
__builtin__.file = newfile
__builtin__.open = newopen

def printOpenFiles():
    print "### %d OPEN FILES: [%s]" % (len(openfiles), ", ".join(f.x for f in openfiles))

  

以上是关于python debug open_files的主要内容,如果未能解决你的问题,请参考以下文章

python 写csv文件

在python中实现对文件的写入,读取,复制,批量重命名

cent6.5 设置open_files max_user_processes

cent6.5 设置open_files max_user_processes

ModuleNotFoundError:当 pyinstaller 创建的 EXE 运行 plyer.filechooser.open_file() 和 choose_dir() 时,没有名为“ply

linux 6.4下max_user_processes和open_file修改