在64位Windows机器上典型调用numpy.memmap()
期间,python引发以下错误:
OSError: [WinError 8] Not enough memory resources are available to process this command
另一台Windows机器使用不同的文本引发相同的错误:
OSError: [WinError 8] Not enough storage is available to process this command.
以下是代码摘要:
with open(infile, 'rb') as f:
......
array = numpy.memmap(f, dtype='uint8', mode='r', offset=offset, shape=arraysize).tolist()
此时Python只使用了50MB的内存。内存耗尽的原因是什么?
答案 0 :(得分:2)
事实证明,问题在于,memmap调用中的offset
+ shape
大于文件的总大小(即我试图超出文件大小)
在这种情况下,有关内存资源的错误消息有点误导。