我有一个文件,可以在Linux下使用以下命令将其解压缩:

unxz < file.xz > file.txt

我如何使用python做同样的事情?
如果我使用python3和tarfile模块并执行以下操作:
import sys
import tarfile
try:
    with tarfile.open('temp.xz', 'r:xz') as t:
        t.extract()
except Exception as e:
    print("Error:", e.strerror)

我得到一个异常(exception):ReadError('invalid header',)。因此,显然,它希望某些xz文件中不存在的文件或目录信息。

那么,如何在没有标题信息的情况下解压缩文件呢?

最佳答案

tarfile模块仅适用于...错误... tar文件。您在这里拥有的不是一个。

XZ支持在Python 3.3的LZMA模块中可用。在Python 2.x中,您需要 backports.lzma

try:
    import lzma
except ImportError:
    from backports import lzma

print lzma.open('file.xz').read()

关于python - 如何使用仅包含数据但不包含文件名的python解压缩xz文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42079724/

10-12 23:46