Ich weiß, dass es ein Modul namens pylzma gibt. Aber es unterstützt nur lzma, nicht lzma2.Wie benutze ich lzma2 im Python-Code?
Meine aktuelle Lösung verwendet subprocess.call()
, um 7z-Programm aufzurufen.
Gibt es einen besseren Weg?
Ich weiß, dass es ein Modul namens pylzma gibt. Aber es unterstützt nur lzma, nicht lzma2.Wie benutze ich lzma2 im Python-Code?
Meine aktuelle Lösung verwendet subprocess.call()
, um 7z-Programm aufzurufen.
Gibt es einen besseren Weg?
können Sie backports.lzma verwenden, für weitere Informationen siehe: Python 2.7: Compressing data with the XZ format using the "lzma" module
Dann ist es einfach eine Frage zu tun, zB:
from backports import lzma
with open('hello.xz', 'wb') as f:
f.write(lzma.compress(b'hello', format=lzma.FORMAT_XZ))
Oder einfacher (XZ-Format ist Standard):
with lzma.open('hello.xz', 'wb') as f:
f.write(b'hello')
Informationen zur Verwendung finden Sie unter http://docs.python.org/dev/library/lzma.html.