当文件到达4GB时,z.write中出现struct integer overflow masking is deprecated错误。在
我的代码:
def compressOutputFile(outputFileName, outputPath=UXConfig.myPath):
os.chdir(outputPath)
z= zipfile.ZipFile(outputFileName+'.zip', 'wb',zipfile.ZIP_DEFLATED,allowZip64=True)
UXUtils.log('Writting file')
z.write(outputFileName)
UXUtils.log('Writting finished')
z.close()
tempFiles.append(outputPath+outputFileName)
文件没有损坏,因为我可以打开并查看行。在
我从未使用过zipfile模块,但我使用了一个
with
语句,并对8GB文件进行了尝试,它起到了作用(从8GB到44MB:o):看看这是否有用。如果没有,我想我能想到的唯一的解决方案是将文件分区,然后在每个块上压缩。在
编辑: 如果您使用的是python2.6,那么考虑包含contextlib模块来处理这个topic中引用的退出错误。在
修订后的代码如下:
^{pr2}$看看这个行不行。干杯!在
相关问题 更多 >
编程相关推荐