Centos使用unrar解压rar压缩包
在Centos上安装unrar并直接使用
-
在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命令手册上面查看
通过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() # 解压
想了解更多可以去python-unrar官方文档上查看