在rarlab官网找到相应的版本进行下载,我使用的版本是RAR 6.00 for Linux x64
wget https://www.rarlab.com/rar/rarlinux-x64-6.0.0.tar.gz
解压到指定目录
tar xf rarlinux-x64-6.0.0.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 <命令> <压缩包>
# 解压压缩文件到当前目录
unrar e test.rar
# 用绝对路径解压文件
unrar x test.rar
# 列出压缩包中的文件列表信息(简单)
unrar l test.rar
# 列出压缩包中的文件列表信息(详细)
unrar v test.rar
# 测试压缩文件
unrar t test.rar
想了解更多unrar的用法可以在linux命令手册上面查看
安装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() # 解压
想了解更多可以去python-unrar官方文档上查看
原文:https://www.cnblogs.com/blueberry-mint/p/14167244.html