Mimic 7zip with python

时间:2018-05-19 11:47:14

标签: python 7zip lzma

我正在使用Python 3.6,目前我将子处理到我的7zip程序以获得我需要的压缩。

subprocess.call('7z a -t7z -ms=off {0} *'.format(filename))

我知道zipfile类有'ZIP_LZMA'压缩,但我传递的应用程序也说输出文件不正确。那么还有什么我必须添加到ZipFile类来使它模仿上面的命令?

1 个答案:

答案 0 :(得分:0)

如果您对Windows不太关心,那么libarchive可能会有所帮助。例如在Ubuntu中:

$ sudo apt install python3-libarchive-c

然后:

import libarchive
with libarchive.file_writer('test.7z', '7zip') as archive:
    archive.add_files('first.file', 'second.file', 'third.file')

然后有pylib7zip库,它包装了现有的7z.dll,似乎只提供了Windows的替代方案。