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