为啥使用LZMA2算法压缩的文件,想从中提取某一文件时要解压(计算)完整个压缩包才能解出来?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥使用LZMA2算法压缩的文件,想从中提取某一文件时要解压(计算)完整个压缩包才能解出来?相关的知识,希望对你有一定的参考价值。

参考技术A 你使用了固实压缩技术吧。
固实压缩也就是把所有文件当成一个文件来压缩,这样有助于提高压缩率。但是同时带来的问题就是当你像解压某一文件时就必须解压在改文件前编码的所有文件。

在python中提取xz文件

【中文标题】在python中提取xz文件【英文标题】:extract xz file in python 【发布时间】:2021-01-02 15:02:10 【问题描述】:

我有一个文件 data.csv.xz。我想提取 csv 文件,但不是手动提取。我通过使用包 lzma 找到了一种方法。但是当我在 spyder 中的 python 3.8 中 pip install lama 时,出现错误:

错误:找不到满足要求 lzma 的版本(来自版本:无) 错误:没有为 lzma 找到匹配的分布

3.8 版有什么问题?而且,还有其他方法可以完成这项任务吗?

【问题讨论】:

lzma 是 Python 标准库的一部分:docs.python.org/3/library/lzma.html#module-lzma 所以您不需要安装任何其他东西,您可以按原样使用 LZMA 压缩 (xz) 文件。 【参考方案1】:

lzma 是 Python 标准库的一部分,因此您不会在 PyPi 索引中找到它。

要验证,只需启动您的 python shell 并尝试:

>>> import lzma
>>>

它应该可以工作。

【讨论】:

【参考方案2】:

lzma 是 Python 标准库的一部分。无需安装,直接导入即可。

你可以参考这个 https://docs.python.org/3/library/lzma.html#module-lzma

【讨论】:

【参考方案3】:

如上所述,您不需要安装 lzma,因为它已经在 pip 标准库中。

你的 Python 绝对没有问题(希望如此)。

【讨论】:

以上是关于为啥使用LZMA2算法压缩的文件,想从中提取某一文件时要解压(计算)完整个压缩包才能解出来?的主要内容,如果未能解决你的问题,请参考以下文章

7zip的lzma和lzma2算法在啥情况下压缩率不一样

好压压缩算法里LZMA算法和LZMA2有啥区别?

如何获取 LZMA2 文件 (.xz / liblzma) 的未压缩大小

如何使用 Python 3 将 lzma2 (.xz) 和 zstd (.zst) 文件解压缩到文件夹中?

如何使用 sharpcompress 解压 .xz (lzma2) 文件

7Z的压缩算法