Python版本:3.9.6
ide:PyCharm 2021.1.3
常用的压缩格式有很多种,而不同的压缩包的解压需要用到不同的库,下面根据一些常用的压缩包给出各自的解决方案。
目录
rar格式
主要代码就两行,如下:
import rarfile
rar = rarfile.RarFile(file)
# 解压缩到指定目录
rar.extractall(outdir)
但是执行时大多数人会报错:rarfile.RarCannotExec: Cannot find working tool,如下:
看上去像是少了什么东西,我们再来看看这个库的说明,发现必须要配合unrar的工具来使用。
通过网上找方法,基本都是以下两种:
1、下载WinRAR工具,将UnRAR.exe放在脚本目录venv/Scripts下,因为rarfile识别的是unrar.exe,需要改下名称
2、系统环境变量Path中加入unrar.exe所在目录(注意是系统变量,不是用户变量)。
笔者测试了两种方法,第一种方法没有作用,第二种方法是有用的,说明无论如何都要配置环境变量(如果使用pychram,注意修改之后重启pychram端)。
同时,笔者发现了另外一个unrar库,使用方式同rarfile,如下:
from unrar import rarfile
rar = rarfile.RarFile(file)
# 解压缩到指定目录
rar.extractall(outdir)
但是执行时报错:LookupError: Couldn't find path to unrar library.,如下: