有没有可能列出LZMA文件(.7zip)的内容而不解压缩整个文件?另外,我可以从LZMA文件中提取单个文件吗?
我的问题是:我有一个30 5TB的.7z文件,可解压缩到5TB以上。我想操作原始的.7z文件,而不需要做一个完全的解压缩。
发布于 2010-04-13 22:45:23
是。从XZ Utils开始。有Perl和Python API。
你可以从标题中找到你想要的文件。每个文件都是单独压缩的,因此您可以只提取所需的文件。
发布于 2011-05-27 04:05:20
从Sourceforge上的LZMA SDK files页面下载lzma922.tar.bz2,然后解压缩文件并打开C/Util/7z/7zMain.c。在那里,您将找到从.7z归档文件中提取特定归档文件的例程。您不需要从所有条目中提取所有数据,示例代码展示了如何仅提取您感兴趣的数据。相同的代码具有列出条目而不提取所有压缩数据的逻辑。
发布于 2019-07-09 23:54:06
我通过安装7zip (https://www.7-zip.org/)并使用参数l解决了这个问题。例如:
7z l file.7z
输出中包含一些描述性信息和压缩文件中的文件列表。然后,我在python内部使用子进程库调用:
import subprocess
output = subprocess.Popen(["7z","l", "file.7z"], stdout=subprocess.PIPE)
output = output.stdout.read().decode("utf-8")
不要忘记确保程序7z可以在您的PATH变量中访问。我不得不在Windows中手动完成此操作。
https://stackoverflow.com/questions/2628883
复制相似问题