如何解决不允许 Numpy memmap 负维度
当 mode != 'r' 时,即使超出文件尾的正偏移量也是有效的;
fmt = "IIiiIIddiIiii64sIIII48sxxxx"
fmt1 = "?Idd16s"
file = open(self.resultName,"wb")
file.write(struct.pack(fmt,*self.header))
for i in range(someVar):
file.write(struct.pack(fmt1,*self.arr2[i]))
file.flush()
file.close
wave = np.memmap(self.resultName,dtype = np.uint16,mode = "r+",offset = 1024)
File "C:\Python\python38\lib\site-packages\numpy\core\memmap.py",line 266,in __new__
self = ndarray.__new__(subtype,shape,dtype=descr,buffer=mm,ValueError: negative dimensions are not allowed
有人遇到过这个问题吗?你是怎么解决的?
谢谢
解决方法
文件将被写入,应该在使用 memmap 之前存在。 必须定义形状,然后才不会出错。
wave = np.memmap(self.resultName,dtype = np.uint16,mode = "r+",offset = 1024,shape = 7000000)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。