python debug open_files
阿新 • • 發佈:2017-10-14
lose erro too highlight add log urn for ini
主要是遇到 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