https://www.rarlab.com/download.htm
wget https://www.rarlab.com/rar/rarlinux-x64-6.0.2.tar.gz
解压安装包到指定目录
tar xf rarlinux-x64-6.0.2.tar.gz -C /usr/local/
创建软连接
ln -s /usr/local/rar/rar /usr/local/bin/rar ln -s /usr/local/rar/unrar /usr/local/bin/unrar
常用命令
# 解压压缩文件到当前目录 unrar e test.rar # 用绝对路径解压文件 unrar x test.rar # 列出压缩包中的文件列表信息(简单) unrar l test.rar # 列出压缩包中的文件列表信息(详细) unrar v test.rar # 测试压缩文件 unrar t test.rar
通过python执行unrar的相关操作
- 安装unrar库
pip3 install unrar
或
python3 -m pip install unrar
- 运行以下代码
from unrar import rarfile
如果运行没问题则证明安装成功,如果报Couldn’t find path to unrar library则还需要系统编译安装unrar
- 安装依赖包
yum install -y gcc gcc-c++
- 下载unrar包
wget http://www.rarlab.com/rar/unrarsrc-5.4.5.tar.gz tar zxf unrarsrc-5.4.5.tar.gz cd unrar
- 编译、安装
make lib make install-lib
使用make lib命令将会自动编译库文件,再使用make install-lib命令产生 libunrar.so 文件(一般在 /usr/lib 目录下面)
- 配置环境变量
vim /etc/profile
在末尾加上以下语句并保存
export UNRAR_LIB_PATH=/usr/lib/libunrar.so
使用以下命令使变量生效
source /etc/profile
再次执行第二步就不会报错了
- 简单代码示例
from unrar import rarfile rar = rarfile.RarFile('sample.rar') print(rar.namelist()) # 压缩包的文件列表 rar.printdir() # 打印压缩包的文件信息(详细) info = rar.infolist() # 文件信息迭代器对象列表 for f in info: print(f.filename, f.file_size, f.date_time) # 文件名 文件大小 修改时间 rar.extractall() # 解压