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调用中以指定大小。