I know there is a module called pylzma. But it only support lzma, not lzma2.
My current solution is using subprocess.call()
to call 7z program.
Is there a better way?
You can use backports.lzma, see for more info: Python 2.7: Compressing data with the XZ format using the "lzma" module
Then it's simply a matter of doing e.g.:
from backports import lzma
with open('hello.xz', 'wb') as f:
f.write(lzma.compress(b'hello', format=lzma.FORMAT_XZ))
Or simpler (XZ format is default):
with lzma.open('hello.xz', 'wb') as f:
f.write(b'hello')
See http://docs.python.org/dev/library/lzma.html for usage details.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With