2013-05-10 11 views
5

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?

Antwort

0

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.