¿Cómo desempaquetar un archivo xz con python que solo contiene datos pero no un nombre de archivo?

Tengo un archivo, que puedo descomprimir bajo Linux usando el siguiente comando:

unxz  file.txt 

¿Cómo puedo hacer lo mismo usando python? Si uso python3 y el módulo tarfile y hago lo siguiente:

 import sys import tarfile try: with tarfile.open('temp.xz', 'r:xz') as t: t.extract() except Exception as e: print("Error:", e.strerror) 

Obtengo la excepción: ReadError (‘encabezado inválido’,) . Así que aparentemente espera cierta información de archivo o directorio que no está presente en el archivo xz.

Entonces, ¿cómo puedo descomprimir un archivo sin información de encabezado?

    El módulo tarfile es solo para … err … archivos tar . Lo que tienes aquí no es uno.


    El soporte XZ está disponible en el módulo LZMA de Python 3.3. En Python 2.x, necesitas backports.lzma .

     try: import lzma except ImportError: from backports import lzma print lzma.open('file.xz').read()