在python中检测文件句柄泄漏?

2024-06-16 10:00:25 发布

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

我的程序似乎正在泄漏文件句柄。我怎么知道在哪里?

我的程序在几个不同的地方使用文件句柄,从子进程输出,调用ctypesAPI(ImageMagick)打开文件,然后复制它们。

它在shutil.copyfile中崩溃,但我很确定这不是它泄漏的地方。

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python25\Lib\site-packages\magpy\magpy.py", line 874, in main
    magpy.run_all()
  File "C:\Python25\Lib\site-packages\magpy\magpy.py", line 656, in run_all
    [operation.operate() for operation in operations]
  File "C:\Python25\Lib\site-packages\magpy\magpy.py", line 417, in operate
    output_file = self.place_image(output_file)
  File "C:\Python25\Lib\site-packages\magpy\magpy.py", line 336, in place_image
    shutil.copyfile(str(input_file), str(self.full_filename))
  File "C:\Python25\Lib\shutil.py", line 47, in copyfile
    fdst = open(dst, 'wb')
IOError: [Errno 24] Too many open files: 'C:\\Documents and Settings\\stuart.axon\\Desktop\\calzone\\output\\wwtbam4\\Nokia_NCD\\nl\\icon_42x42_V000.png'
Press any key to continue . . .

Tags: 文件inpy程序outputlibpackagesline