Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python npz load返回BadZipfile:文件在达到一定大小后不是zip文件_Python_Arrays_Numpy_Compression - Fatal编程技术网

Python npz load返回BadZipfile:文件在达到一定大小后不是zip文件

Python npz load返回BadZipfile:文件在达到一定大小后不是zip文件,python,arrays,numpy,compression,Python,Arrays,Numpy,Compression,我正在保存一个大的numpy形状数组(40000、450600、3) 该数组由for循环构建,该循环将jpg图像转换为(450、600、3)nArray,并将数组附加到四维数组中,然后使用numpy.savez_compressed函数将其保存 在最初的几百次迭代中,numpy.load('file.npz')函数运行良好,我能够恢复保存的npz文件。但在某个时候,我得到了这个错误: Traceback (most recent call last): File "script.py", lin

我正在保存一个大的numpy形状数组(40000、450600、3)

该数组由
for
循环构建,该循环将jpg图像转换为(450、600、3)nArray,并将数组附加到四维数组中,然后使用
numpy.savez_compressed
函数将其保存

在最初的几百次迭代中,
numpy.load('file.npz')
函数运行良好,我能够恢复保存的npz文件。但在某个时候,我得到了这个错误:

Traceback (most recent call last):
File "script.py", line 14, in <module>
numpycom = np.load('img_one.npz')
File "/home/name/.local/lib/python2.6/site-  
packages/numpy/lib/npyio.py", line 373, in load
return NpzFile(fid, own_fid=own_fid)
File "/home/name/.local/lib/python2.6/site- 
packages/numpy/lib/npyio.py", line 185, in __init__
_zip = zipfile_factory(fid)
File "/home/name/.local/lib/python2.6/site-
packages/numpy/lib/npyio.py", line 124, in zipfile_factory
return zipfile.ZipFile(*args, **kwargs)
File "/usr/lib64/python2.6/zipfile.py", line 696, in __init__
self._GetContents()
File "/usr/lib64/python2.6/zipfile.py", line 716, in _GetContents
self._RealGetContents()
File "/usr/lib64/python2.6/zipfile.py", line 728, in _RealGetContents
raise BadZipfile, "File is not a zip file"
zipfile.BadZipfile: File is not a zip file
Exception AttributeError: "'NpzFile' object has no attribute 'zip'" in 
<bound method NpzFile.__del__ of <numpy.lib.npyio.NpzFile object at 
0x2fe4110>> ignored
回溯(最近一次呼叫最后一次):
文件“script.py”,第14行,在
numpycom=np.load('img_one.npz'))
文件“/home/name/.local/lib/python2.6/site-
文件包/numpy/lib/npyio.py”,第373行,已加载
返回NPZ文件(fid,own\u fid=own\u fid)
文件“/home/name/.local/lib/python2.6/site-
packages/numpy/lib/npyio.py”,第185行,初始__
_zip=zipfile_工厂(fid)
文件“/home/name/.local/lib/python2.6/site-
包装/numpy/lib/npyio.py”,第124行,zipfile_工厂
返回zipfile.zipfile(*args,**kwargs)
文件“/usr/lib64/python2.6/zipfile.py”,第696行,在__
self.\u GetContents()
文件“/usr/lib64/python2.6/zipfile.py”,第716行,在_GetContents中
self.\u RealGetContents()
文件“/usr/lib64/python2.6/zipfile.py”,第728行,在RealGetContents中
raise BadZipfile,“文件不是zip文件”
zipfile.BadZipfile:文件不是zip文件
异常AttributeError:“'NpzFile'对象在中没有属性'zip'”
忽略

谢谢你的帮助

问题是否仅在zip文件超过2GB或4GB时出现?历史上,处理如此大的zip文件一直存在问题。在保存压缩时,让脚本读取磁盘和内存的最佳方法是什么?如果我在python中使用sys.getsizeof()函数,我实例化的numpy数组是200GB,它是400000x450x600x3数组。只有当zip文件超过2GB或4GB时才会出现问题吗?历史上,处理如此大的zip文件一直存在问题。在保存压缩时,让脚本读取磁盘和内存的最佳方法是什么?如果我在python中使用sys.getsizeof()函数,我实例化的numpy数组是200GB,它是400000x450x600x3数组。