从shutil.make_archive转到zipfile.ZipFile以支持Zip64

问题描述

我的代码中包含以下行:

shutil.make_archive(os.path.splitext(output_file)[0],'zip',output_dir)

哪个会产生以下错误

LargeZipFile: Central directory offset would require ZIP64 extensions

我在许多地方(例如How to create zip64 archive using shutil.make_archive)都读到过,在Python2.7中不可能使用shutil.make_archive格式的Zip64。因此,我需要直接致电zipfile.ZipFile

这是我的问题:如何更改代码以使用此功能?通过阅读文档尚不清楚。我尝试了以下方法

with ZipFile(os.path.splitext(output_file)[0],mode='w',allowZip64=True) as z:
    z.write(output_dir)

并出现以下错误

Traceback (most recent call last):
  File "<MY FILE>",line 782,in run
    with ZipFile(os.path.splitext(output_file)[0],allowZip64=True) as z:
  File "/usr/lib/python2.7/zipfile.py",line 756,in __init__
    self.fp = open(file,modeDict[mode])
IOError: [Errno 21] Is a directory: '<MY LOCATION>'

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)