Python實(shí)現(xiàn)加密的RAR文件解壓的方法(密碼已知)
博主之前在網(wǎng)上找了很多資料,發(fā)現(xiàn)rarfile庫(kù)不能直接調(diào)用,需要安裝unrar模塊,下面將詳細(xì)介紹整個(gè)實(shí)現(xiàn)流程?! ?/p>
第一步:安裝unrar模塊,直接pip install unrar可能會(huì)找不到庫(kù),需要下載unrar library,也就是UnRAR.dll,下載地址為:http://www.rarlab.com/rar/UnRARDLL.exe;
第二步:將unrar安裝路徑添加到系統(tǒng)環(huán)境變量,64位操作系統(tǒng)的路徑為C:\Program Files (x86)\UnrarDLL\x64,然后還需要將x64文件下的UnRAR64.lib和UnRAR64.dall重命名為unrar.lib和unrar.dall,因?yàn)閡nrar模塊識(shí)別的文件是unrar.dll和unrar.lib;
第三步:打開(kāi)Pycharm,就可以用下面代碼實(shí)現(xiàn):
from unrar import rarfile#導(dǎo)入rarfile庫(kù) path1 = "C:\\test.rar"#需要解壓的文件路徑及地址 path2 = "C:\\TEST"#需要解壓到的文件夾地址 rf = rarfile.RarFile(path1 , pwd = "123") # pwd為解壓密碼 rf.extractall(path = path2, pwd = "123")
如果你的壓縮包沒(méi)有密碼,可以使用以下代碼實(shí)現(xiàn):
from unrar import rarfile#導(dǎo)入rarfile庫(kù) file = rarfile.RarFile('C:\\test.rar') #需要解壓的文件路徑及文件 file.extractall('C:\\TEST') #需要解壓到的文件夾地址
ps:下面看下Python如何解壓.zip文件(如果有密碼需要密碼已知)
需導(dǎo)入頭文件
import zipfile
無(wú)密碼
zip_file = zipfile.ZipFile('./cache/.zip')#文件的路徑與文件名 zip_list = zip_file.namelist() # 得到壓縮包里所有文件 for f in zip_list: zip_file.extract(f, './cache_F/',pwd="".encode("utf-8")) # 循環(huán)解壓文件到指定目錄 zip_file.close() # 關(guān)閉文件,必須有,釋放內(nèi)存
有密碼
zip_file = zipfile.ZipFile('./cache_F/.zip')#文件的路徑與文件名 zip_list = zip_file.namelist() # 得到壓縮包里所有文件 for f in zip_list: zip_file.extract(f, './cache/',pwd="mima".encode("utf-8")) # 循環(huán)解壓文件到指定目錄 zip_file.close() # 關(guān)閉文件,必須有,釋放內(nèi)存
總結(jié)
到此這篇關(guān)于Python實(shí)現(xiàn)加密的RAR文件解壓的方法(密碼已知)的文章就介紹到這了,更多相關(guān)Python RAR文件解壓內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 使用 Python 破解壓縮文件的密碼的思路詳解
- Python3壓縮和解壓縮實(shí)現(xiàn)代碼
- python解壓zip包中文亂碼解決方法
- Python在后臺(tái)自動(dòng)解壓各種壓縮文件的實(shí)現(xiàn)方法
- python 實(shí)現(xiàn)壓縮和解壓縮的示例
- Python實(shí)現(xiàn)文件壓縮和解壓的示例代碼
- Python腳本破解壓縮文件口令實(shí)例教程(zipfile)
- 文件上傳服務(wù)器-jupyter 中python解壓及壓縮方式
- Python解壓 rar、zip、tar文件的方法
- python批量解壓zip文件的方法
- 用python批量解壓帶密碼的壓縮包
相關(guān)文章
python?groupby函數(shù)實(shí)現(xiàn)分組選取最大值與最小值
這篇文章主要介紹了python?groupby函數(shù)實(shí)現(xiàn)分組選取最大值與最小值,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08linux系統(tǒng)使用python監(jiān)測(cè)網(wǎng)絡(luò)接口獲取網(wǎng)絡(luò)的輸入輸出
這篇文章主要介紹了linux系統(tǒng)使用python監(jiān)測(cè)網(wǎng)絡(luò)接口獲取網(wǎng)絡(luò)的輸入輸出信息,大家參考使用吧2014-01-01python的launcher用法知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于python的launcher用法知識(shí)點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-08-08Python實(shí)現(xiàn)將一個(gè)正整數(shù)分解質(zhì)因數(shù)的方法分析
這篇文章主要介紹了Python實(shí)現(xiàn)將一個(gè)正整數(shù)分解質(zhì)因數(shù)的方法,結(jié)合實(shí)例形式對(duì)比分析了Python計(jì)算正整數(shù)分解質(zhì)因數(shù)的算法逐步改進(jìn)操作技巧,需要的朋友可以參考下2017-12-12Python3 main函數(shù)使用sys.argv傳入多個(gè)參數(shù)的實(shí)現(xiàn)
今天小編就為大家分享一篇Python3 main函數(shù)使用sys.argv傳入多個(gè)參數(shù)的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Python實(shí)現(xiàn)的排列組合計(jì)算操作示例
這篇文章主要介紹了Python實(shí)現(xiàn)的排列組合計(jì)算操作,涉及Python數(shù)學(xué)運(yùn)算的相關(guān)函數(shù)與使用技巧,需要的朋友可以參考下2017-10-10python導(dǎo)入同級(jí)模塊的實(shí)現(xiàn)
這篇文章主要介紹了python導(dǎo)入同級(jí)模塊的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02