我试图解压缩一个 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 文件。
步骤
-
点安装py7zr
-
运行以下代码:
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
的目录