5
私は大きな行列を使っているので、NumPyのmemmapを使っています。しかし、明らかにmemmapによって使用されているファイル記述子が閉じられていないため、エラーが発生しています。NumPyとmemmap:[Errno 24]開いているファイルが多すぎます
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)
私が理解しているところでは、メソッドclose()が呼び出されると、memmapファイルは閉じられます。しかし、上記のコードはできませんループ永遠に、それは最終的には「[ERRNO 24]オープンファイルが多すぎる」エラーがスローされますよう:
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
誰もが私が見下ろす午前何を知っていますか?
助けてください。それは今働いている。ありがとう。 – plok