python - 如何一次性解压包含多个文件夹/文件的 .xz 文件?

标签 python lzma

我正在尝试解压缩一个 .xz 文件,其中包含一些文件夹和文件。我没有看到使用 lzma 模块执行此操作的直接方法。这就是我所看到的解压缩方法:

In [1]: import lzma

In [2]: f = lzma.decompress("test.tar.xz")
---------------------------------------------------------------------------
error                                     Traceback (most recent call last)
<ipython-input-2-3b08bf488f9d> in <module>()
----> 1 f = lzma.decompress("test.tar.xz")

error: unknown file format

是否有任何其他方法可以解压缩此文件,以便创建结果文件夹?

最佳答案

python 3.3

import tarfile

with tarfile.open('test.tar.xz') as f:
    f.extractall('.')

python 2.7

需要lzma在 Python 2.7 中

import contextlib
import lzma
import tarfile

with contextlib.closing(lzma.LZMAFile('test.tar.xz')) as xz:
    with tarfile.open(fileobj=xz) as f:
        f.extractall('.')

关于python - 如何一次性解压包含多个文件夹/文件的 .xz 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17217073/

相关文章:

python - django-taggit - 在 django-admin 添加记录页面上显示现有标签

python - Django 的 HttpRequest.META 字典是如何填充的?

c# - 如何使用 .NET 创建包含多个文件的 7-Zip 存档?

javascript - 为 JSON 数据传输选择合适的压缩方案

c - LzmaLib : compress/decompress buffer in C

python - 使用 PyLZMA 解压

compression - Swift 3 中的数据压缩

python - 如何更改python打开文档的位置目录?

python - Windows 中的路径和权限

python - psycopg2 选择时间戳返回包裹在元组中的 datetime.datetime,如何解包?