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



我试图解压缩一个 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:Desktopvnpt2zip.py", line 2, in <module>
Archive('E:/Desktop/vnpt2/2_1_0_2841.7z').extractall('E:/Desktop/vnpt2/new')
File "C:Python27libsite-packagespyunpack__init__.py", line 90, in extractall
self.extractall_patool(directory, patool_path)
File "C:Python27libsite-packagespyunpack__init__.py", line 62, in extractall_patool
raise PatoolError('patool can not unpackn' + str(p.stderr))
pyunpack.PatoolError: patool can not unpack
patool error: error extracting E:Desktopvnpt22_1_0_2841.7z: could not find an executable program to extract format 7z; candidates are (7z,7za,7zr),

我该如何解决它?

您可以改用py7zr包和shutil包的组合来解压缩 7z 文件。

步骤

  1. 点安装py7zr

  2. 运行以下代码:

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

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

brew install p7zip

在Windows上从 https://www.7-zip.org/download.html 下载并安装7zip

然后更新 PATH 变量以指向包含7za.exe的目录

最新更新