1. 程式人生 > 程式設計 >Python實現加密的RAR檔案解壓的方法(密碼已知)

Python實現加密的RAR檔案解壓的方法(密碼已知)

博主之前在網上找了很多資料,發現rarfile庫不能直接呼叫,需要安裝unrar模組,下面將詳細介紹整個實現流程。        

第一步:安裝unrar模組,直接pip install unrar可能會找不到庫,需要下載unrar library,也就是UnRAR.dll,下載地址為:http://www.rarlab.com/rar/UnRARDLL.exe;

第二步:將unrar安裝路徑新增到系統環境變數,64位作業系統的路徑為C:\Program Files (x86)\UnrarDLL\x64,然後還需要將x64檔案下的UnRAR64.lib和UnRAR64.dall重新命名為unrar.lib和unrar.dall,因為unrar模組識別的檔案是unrar.dll和unrar.lib;

第三步:開啟Pycharm,就可以用下面程式碼實現:

from unrar import rarfile#匯入rarfile庫

path1 = "C:\\test.rar"#需要解壓的檔案路徑及地址
path2 = "C:\\TEST"#需要解壓到的資料夾地址

rf = rarfile.RarFile(path1,pwd = "123") # pwd為解壓密碼
rf.extractall(path = path2,pwd = "123") 

如果你的壓縮包沒有密碼,可以使用以下程式碼實現:

from unrar import rarfile#匯入rarfile庫

file = rarfile.RarFile('C:\\test.rar') #需要解壓的檔案路徑及檔案
file.extractall('C:\\TEST') #需要解壓到的資料夾地址

ps:下面看下Python如何解壓.zip檔案(如果有密碼需要密碼已知)

需匯入標頭檔案

import zipfile

無密碼

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")) # 迴圈解壓檔案到指定目錄
 
zip_file.close() # 關閉檔案,必須有,釋放記憶體

有密碼

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")) # 迴圈解壓檔案到指定目錄
 
zip_file.close() # 關閉檔案,必須有,釋放記憶體

總結

到此這篇關於Python實現加密的RAR檔案解壓的方法(密碼已知)的文章就介紹到這了,更多相關Python RAR檔案解壓內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!