2

在 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 的内存。内存不足的原因是什么?

4

1 回答 1

3

事实证明,这里的问题是 memmap 调用中的offset+shape大于文件的总大小(即我试图读取超出文件大小的内容)。

在这种情况下,有关内存资源的错误消息有点误导。

于 2018-05-10T00:44:30.670 回答