Python numpy memmap读取错误内存映射大小必须为正

Python numpy memmap读取错误内存映射大小必须为正,python,numpy,binaryfiles,integer-overflow,numpy-memmap,Python,Numpy,Binaryfiles,Integer Overflow,Numpy Memmap,我正在分区中读取一个大的二进制文件。 使用numpy.memmap映射每个分区 该文件由1M行组成,其中一行是198个2字节整数。 一个分区有1000行长 下面是代码片段: mdata = np.memmap(fn, dtype='int16', mode='r', offset=offset *2) data = np.array(mdata[0:count]) 这里的偏移量是1000*198*2*partition\u idx,其中partition\u idx的范围是[0:1000]。

我正在分区中读取一个大的二进制文件。 使用
numpy.memmap
映射每个分区

该文件由1M行组成,其中一行是198个2字节整数。 一个分区有1000行长

下面是代码片段:

mdata = np.memmap(fn, dtype='int16',  mode='r', offset=offset *2)
data = np.array(mdata[0:count])
这里的偏移量是1000*198*2*
partition\u idx
,其中
partition\u idx
的范围是
[0:1000]
。计数是1000


我得到一个错误:内存映射大小必须是正的

您正在将整个文件映射到内存中,而不仅仅是您试图使用的分区。尝试将
shape=(198000,)
shape=(1000198)
添加到memmap调用中以指定大小。