2015-04-23 71 views
8

我有一個壓縮輸出文件的腳本。問題是其中一個文件超過4Gigs。我如何將腳本轉換爲使用ZIP64擴展而不是標準zip?壓縮大文件時使用ZIP64擴展的Python

這裏是我當前如何荏苒:

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() 

謝謝! 比爾

回答

5

像這樣:

zf = zipfile.ZipFile('edw_files_' + datetime.strftime(date(), '%Y%m%d') + '.zip', mode='w', allowZip64=True) 
12

退房zipfile-objects

你可以這樣做:

zf = zipfile.ZipFile('edw_files_' + datetime.strftime(date(), '%Y%m%d') + '.zip', mode='w', allowZip64 = True) 
相關問題