压缩具有最大大小限制的文件

时间:2013-11-26 23:10:08

标签: python zipfile

我有一些包含不同数量文件的目录,我想为包含目录中所有文件的每个目录创建zip文件。这对大多数人来说都很好,但是一个目录拥有明显更多的文件,并且压缩整个内容会导致20GB +文件。我宁愿限制zip文件的最大大小,并将其分成5GB部分。使用Python有一种简单的方法吗?我现在正在使用zipfile模块,但是我没有办法告诉它在某个文件大小时自动拆分成多个拉链。

2 个答案:

答案 0 :(得分:1)

如果您可以使用RAR而不是ZIP, 您可以试试这个RAR-PACKAGE

from librar import archive
myRAR = archive.Archive("resultPath",base)
myRAR.add_file("FilePath")
myRAR.set_volume_size("5000000K") # split archive based on volume size 5 Gigabytes

答案 1 :(得分:0)

更新

rar-package已过时且无法与python 3一起使用,但我们现在有了更好的解决方案:

rar a -m5 -v10m myarchive movie.avi

它将压缩movie.avi并将其拆分为10 MB块(-v10m),使用最佳压缩率(-m5)

更多信息: https://ubuntuincident.wordpress.com/2011/05/27/compress-with-rar-and-split-into-multiple-files/