【问题标题】:Compress files (.zip) in python with size limit在具有大小限制的python中压缩文件(.zip)
【发布时间】:2020-10-05 16:31:07
【问题描述】:

我正在尝试使用 Python 将存档压缩为最大大小(例如 1024mb)的“.zip”文件(或多个)。

我找到的唯一库是 gzip、shutil 和 zipfile,但我在其中找不到任何允许我以最大大小拆分这些文件的选项。

我不想使用操作系统的功能,我想用 python 库来做。这可能吗?

非常感谢。

【问题讨论】:

    标签: python zip compression size limit


    【解决方案1】:

    你应该可以用 zipfile 做到这一点,但我还没有测试过。

    制作一个 zipfile 对象列表,其中只有一个 zipfile 对象。 遍历您要压缩的文件,将它们添加到列表中最新的 zipfile 中,然后检查新元素是否使您超出文件大小限制。如果是,delete您刚刚从 zipfile 压缩的项目,然后将新的 zipfile 添加到 zipfile 列表中,并将刚刚删除的文件添加到列表中最新的 zipfile 对象中。

    您将需要使用 ZipInfo.compress_size 来找出压缩文件的大小。

    【讨论】: