在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官方文檔上查看