2013-05-10 17 views
5

So che esiste un modulo chiamato pylzma. Ma supporta solo lzma, non lzma2.Come usare lzma2 nel codice Python?

La mia soluzione corrente utilizza subprocess.call() per chiamare il programma 7z.

C'è un modo migliore?

risposta

0

È possibile utilizzare backports.lzma, consultare per ulteriori informazioni: Python 2.7: Compressing data with the XZ format using the "lzma" module

allora è semplicemente una questione di fare ad esempio:

from backports import lzma 

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

O più semplice (formato XZ è di default):

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

Vedere http://docs.python.org/dev/library/lzma.html per dettagli sull'utilizzo.

Problemi correlati