我正在使用大矩阵,所以我使用的是NumPy的memmap.但是,我收到一个错误,因为显然memmap使用的文件描述符没有被关闭.
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
有人知道我在俯瞰什么吗?
最佳答案