2013-05-10 21 views
5

Wiem, że istnieje moduł o nazwie pylzma. Ale obsługuje tylko lzma, a nie lzma2.Jak używać lzma2 w kodzie Pythona?

Moje bieżące rozwiązanie używa subprocess.call() do wywoływania programu 7z.

Czy istnieje lepszy sposób?

Odpowiedz

0

Można użyć backports.lzma zobacz więcej informacji: Python 2.7: Compressing data with the XZ format using the "lzma" module

Wtedy to po prostu kwestia robi np

from backports import lzma 

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

Albo prościej (format XZ jest domyślnie):

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

Aby uzyskać szczegółowe informacje na temat użytkowania, patrz http://docs.python.org/dev/library/lzma.html.

Powiązane problemy