我有一个压缩输出文件的脚本。问题是其中一个文件超过 4Gigs。如何将我的脚本转换为使用 ZIP64 扩展而不是标准 zip?
这是我目前压缩的方式:
try:
import zlib
compression = zipfile.ZIP_DEFLATED
except:
compression = zipfile.ZIP_STORED
modes = { zipfile.ZIP_DEFLATED: 'deflated',
zipfile.ZIP_STORED: 'stored',
}
compressed_name = 'edw_files_' + datetime.strftime(date(), '%Y%m%d') + '.zip'
print 'creating archive'
zf = zipfile.ZipFile('edw_files_' + datetime.strftime(date(), '%Y%m%d') + '.zip', mode='w')
try:
zf.write(name1, compress_type=compression)
zf.write(name2, compress_type=compression)
zf.write(name3, compress_type=compression)
finally:
print 'closing'
zf.close()
最佳答案
查看 zipfile-objects .
你可以这样做:
zf = zipfile.ZipFile('edw_files_' + datetime.strftime(date(), '%Y%m%d') + '.zip', mode='w', allowZip64 = True)
关于Python 在压缩大文件时使用 ZIP64 扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29830531/