我正在使用Python 3.6,目前我将子处理到我的7zip程序以获得我需要的压缩。
subprocess.call('7z a -t7z -ms=off {0} *'.format(filename))
我知道zipfile类有'ZIP_LZMA'压缩,但我传递的应用程序也说输出文件不正确。那么还有什么我需要添加到ZipFile类来使它模仿上面的命令?
如果你不太关心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的替代品。