如何使用pyunpack解压.7z文件?

10

我正在尝试解压一个7z文件,但出现了错误。

这是代码:

from pyunpack import Archive
Archive('E:/Desktop/vnpt2/2_1_0_2841.7z').extractall('E:/Desktop/vnpt2/new')

这是错误信息:

Traceback (most recent call last):
  File "E:\Desktop\vnpt2\zip.py", line 2, in <module>
    Archive('E:/Desktop/vnpt2/2_1_0_2841.7z').extractall('E:/Desktop/vnpt2/new')
  File "C:\Python27\lib\site-packages\pyunpack\__init__.py", line 90, in extractall
    self.extractall_patool(directory, patool_path)
  File "C:\Python27\lib\site-packages\pyunpack\__init__.py", line 62, in extractall_patool
    raise PatoolError('patool can not unpack\n' + str(p.stderr))
pyunpack.PatoolError: patool can not unpack
patool error: error extracting E:\Desktop\vnpt2\2_1_0_2841.7z: could not find an executable program to extract format 7z; candidates are (7z,7za,7zr),

我该怎么修复它?


1
你确定已经安装了7z软件包吗? - Saleh
是的,我已经安装了它。 - Fatworm
2个回答

10

你可以使用py7zr包和shutil包的组合来解压7z文件。

步骤

  1. 安装 py7zr:

    Pip install py7zr

  2. 运行以下代码:

from py7zr import unpack_7zarchive
import shutil

shutil.register_unpack_format('7zip', ['.7z'], unpack_7zarchive)
shutil.unpack_archive('filename.7z', '/unzip_path')

2

如果您使用的是Mac OS,请使用以下命令安装7zip:

brew install p7zip

在Windows上,从https://www.7-zip.org/download.html下载并安装7zip。
然后更新PATH变量,将其指向包含7za.exe的目录。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接