我无法在Python中使用patoolib解压缩.rar文件。我总是收到错误消息:
PatoolError:找不到可执行程序来提取格式rar;候选为(rar、unrar、7z(、
我使用的是macOS,Anaconda Navigator和Spyder IDE,我已经安装了unrar软件包。我不明白为什么patool找不到可执行程序,而我无法解决这个问题。
有人能告诉我怎么解决吗?
编辑:
当我调用这个方法时会出现错误,我定义这个方法来解压缩.zip和.rar文件:
def unzip_file(path_to_file, out_dir):
# Extracts path_to_file in out_dir
if path_to_file[-3:] == 'zip':
with zipfile.ZipFile(path_to_file, 'r') as zip_ref:
zip_ref.extractall(out_dir)
return
if path_to_file[-3:] == 'rar':
patoolib.extract_archive(path_to_file, outdir=out_dir)
return
raise FileNotFoundError(path_to_file)
如果您使用的是macOS,则可能应该安装Homebrew(如果未安装(,然后运行brew install 7z
并重试。
我猜您使用的这个工具并不能进行实际的归档,它只知道如何与各种归档程序进行对话,因此您需要安装一个可以读取和写入RAR
归档的工具。