5

我知道有一个名为 pylzma 的模块。但它只支持lzma,不支持lzma2。

我目前的解决方案是subprocess.call()用来调用 7z 程序。

有没有更好的办法?

4

1 回答 1

1

您可以使用backports.lzma,有关更多信息,请参阅:Python 2.7: Compressing data with the XZ format using the "lzma" module

那么这只是一个简单的问题,例如:

from backports import lzma

with open('hello.xz', 'wb') as f:
    f.write(lzma.compress(b'hello', format=lzma.FORMAT_XZ))

或者更简单(默认为 XZ 格式):

with lzma.open('hello.xz', 'wb') as f:
    f.write(b'hello')

有关使用详情,请参阅http://docs.python.org/dev/library/lzma.html

于 2016-09-30T04:50:58.157 回答