Parece que mi programa está perdiendo identificadores de archivo. ¿Cómo puedo averiguar dónde?¿Detecta fugas de identificador de archivo en python?
Mi programa utiliza identificadores de archivo en algunos lugares diferentes: salida de procesos secundarios, llame al ctypes
API (ImageMagick) abre archivos y los copia.
Se bloquea en shutil.copyfile
, pero estoy bastante seguro de que este no es el lugar donde se está filtrando.
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 . . .
No es toda una respuesta, pero si está utilizando Python 2.5 o posterior, busque en la palabra clave "con" que puede cerrar automáticamente los archivos una vez que haya terminado con ellos. –