NumPy y memmap: [Errno 24] Demasiados archivos abiertos

Estoy trabajando con matrices grandes, así que estoy usando el memmap de NumPy. Sin embargo, estoy recibiendo un error, ya que aparentemente los descriptores de archivos utilizados por memmap no se están cerrando.

import numpy
import tempfile

counter = 0
while True:
    temp_fd, temporary_filename = tempfile.mkstemp(suffix='.memmap')
    map = numpy.memmap(temporary_filename, dtype=float, mode="w+", shape=1000)
    counter += 1
    print counter
    map.close()
    os.remove(temporary_filename)

Por lo que entiendo, el archivo memmap se cierra cuando se llama al método close (). Sin embargo, el código anterior no puede repetirse para siempre, ya que finalmente arroja el "[Errno 24] Demasiados archivos abiertos"error:

    1016
    1017
    1018
    1019
    Traceback (most recent call last):
      File "./memmap_loop.py", line 11, in <module>
      File "/usr/lib/python2.5/site-packages/numpy/core/memmap.py", line 226, in __new__
    EnvironmentError: [Errno 24] Too many open files
    Error in sys.excepthook:
    Traceback (most recent call last):
      File "/usr/lib/python2.5/site-packages/apport_python_hook.py", line 38, in apport_excepthook
    ImportError: No module named packaging_impl

    Original exception was:
    Traceback (most recent call last):
      File "./memmap_loop.py", line 11, in <module>
      File "/usr/lib/python2.5/site-packages/numpy/core/memmap.py", line 226, in __new__
    EnvironmentError: [Errno 24] Too many open files

¿Alguien sabe lo que estoy pasando por alto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta