问题描述
我试图使用 python 解压缩 7z 文件,但我似乎无法弄清楚.我想我可以在 python 3 中使用 lzma 模块,但我似乎无法弄清楚:
I was trying to decompress a 7z file using python, but I can't seem to figure it out. I figured I could use the lzma module in python 3, but I can't seem to figure it out:
我认为它会像 zipfile 包一样工作:
I thought it would work like the zipfile package:
import lzma
with lzma.open('data.7z') as f:
f.extractall(r"<output path>")
但在阅读文档后,似乎没有.所以这是我的问题:如何使用标准包提取 7z 文件?我不想调用 subprocess 使用 7-zip 解压文件,因为我不能保证用户安装了这个软件.
but after reading the documents, it doesn't seems to. So here is my question: How can you extract a 7z file using the standard package? I don't want to call subprocess to extract the files using 7-zip because I can't guarantee that users have this software installed.
我搜索了互联网和堆栈 oerflow,并注意到所有的答案几乎都回到使用子处理,我想避免像瘟疫一样.
I've searched the internets and stack oerflow and noticed all the answers almost go back to using subprocessing which I would like to avoid like the plague.
虽然在stackoverflow上也有类似的问题,但答案仍然取决于7-zip或7zip SDK.我不想使用 7-zip sdk/exe 进行提取,因为这假设用户已安装该软件.
Though there are similar questions on stackoverflow, the answers all still depend on 7-zip or the 7zip SDK. I do not want to use the 7-zip sdk/exe for extraction because that assumes the users have the software installed.
这是 7z 文件中的属性:
Here is the properties from the 7z file:
推荐答案
试试这个怎么样?:
from pyunpack import Archive
Archive('data.7z').extractall("<output path>")
这篇关于使用python 3提取7z文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!