我尝试使用Python解压7z文件,但我似乎无法弄清楚如何做。我以为可以使用Python 3中的lzma模块,但我似乎也搞不清楚:
但是在阅读了这些文档之后,似乎并不是这样。所以我的问题是:如何使用标准包提取7z文件?我不想调用子进程使用7-zip提取文件,因为我无法保证用户已安装此软件。
我在互联网和stackoverflow上搜索过,并注意到所有答案几乎都回到使用子进程,而我想像瘟疫一样避免这种情况。
虽然stackoverflow上有类似的问题,但所有答案仍然依赖于7-zip或7zip SDK。我不想使用7-zip sdk/exe进行提取,因为这假定用户已安装该软件。
以下是7z文件的属性:
我认为它应该像zipfile包一样工作:
import lzma
with lzma.open('data.7z') as f:
f.extractall(r"<output path>")
但是在阅读了这些文档之后,似乎并不是这样。所以我的问题是:如何使用标准包提取7z文件?我不想调用子进程使用7-zip提取文件,因为我无法保证用户已安装此软件。
我在互联网和stackoverflow上搜索过,并注意到所有答案几乎都回到使用子进程,而我想像瘟疫一样避免这种情况。
虽然stackoverflow上有类似的问题,但所有答案仍然依赖于7-zip或7zip SDK。我不想使用7-zip sdk/exe进行提取,因为这假定用户已安装该软件。
以下是7z文件的属性: