【发布时间】:2020-10-05 16:31:07
【问题描述】:
我正在尝试使用 Python 将存档压缩为最大大小(例如 1024mb)的“.zip”文件(或多个)。
我找到的唯一库是 gzip、shutil 和 zipfile,但我在其中找不到任何允许我以最大大小拆分这些文件的选项。
我不想使用操作系统的功能,我想用 python 库来做。这可能吗?
非常感谢。
【问题讨论】:
标签: python zip compression size limit
我正在尝试使用 Python 将存档压缩为最大大小(例如 1024mb)的“.zip”文件(或多个)。
我找到的唯一库是 gzip、shutil 和 zipfile,但我在其中找不到任何允许我以最大大小拆分这些文件的选项。
我不想使用操作系统的功能,我想用 python 库来做。这可能吗?
非常感谢。
【问题讨论】:
标签: python zip compression size limit
你应该可以用 zipfile 做到这一点,但我还没有测试过。
制作一个 zipfile 对象列表,其中只有一个 zipfile 对象。 遍历您要压缩的文件,将它们添加到列表中最新的 zipfile 中,然后检查新元素是否使您超出文件大小限制。如果是,delete您刚刚从 zipfile 压缩的项目,然后将新的 zipfile 添加到 zipfile 列表中,并将刚刚删除的文件添加到列表中最新的 zipfile 对象中。
您将需要使用 ZipInfo.compress_size 来找出压缩文件的大小。
【讨论】: