Python使用rarfile库解压rar文件报Cannot find working tool错误如何解决
报错原因
rarfile 库本身不内置RAR格式解压算法,所有解压操作都依赖外部的RAR命令行工具实现。抛出rarfile.RarCannotExec: Cannot find working tool错误的根本原因是Python运行环境无法找到可用的RAR解压工具。
解决步骤
- 安装RAR解压命令行工具
你可以直接下载安装WinRAR软件,安装完成后其安装目录(默认路径为C:\Program Files\WinRAR\或C:\Program Files (x86)\WinRAR\)下会存在unrar.exe可执行文件。 - 配置工具路径
有两种配置方式,二选一即可:- 将WinRAR的安装目录路径添加到系统
PATH环境变量中,添加完成后重启运行代码的终端或IDE使配置生效。 - 直接在代码中手动指定
unrar.exe的路径,无需修改环境变量,在导入rarfile后添加代码:rar.UNRAR_TOOL = "你的unrar.exe实际绝对路径"。
- 将WinRAR的安装目录路径添加到系统
原有代码修正
你编写的代码中存在参数使用错误,extract方法的第一个参数为待解压的文件名称,不是RarFile实例对象,同时Windows路径建议添加r前缀避免转义字符问题,修正后的完整代码如下:
import rarfile as rar # 手动指定unrar路径的示例,根据自己的实际安装路径修改 # rar.UNRAR_TOOL = r"C:\Program Files\WinRAR\UnRAR.exe" def Extractor(extract_to_folder, file, base_file_path): rar_ = rar.RarFile(base_file_path) rar_.extract(file, extract_to_folder) rar_.close() Extractor(r'F:\MyFiles\myExFolder', 'howToAccess.txt', r'F:\MyFiles\River.rar')
内容的提问来源于stack exchange,提问作者LittleZabi
相关产品推荐
相关产品推荐

