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?
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?
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.