首先說一下我的系統和Python版本資訊:
win7、python2.7.12
我找了兩篇個人認為比較好的文章:
第一篇http://blog.csdn.NET/luoye7422/article/details/41873499,按照他的方法來確實連報錯都是一樣的,但是不幸的是即使將C:\Program Files\WinRAR目錄下的UnRAR.exe複製到指令檔夾下面或者將該目錄添加到環境變數中依然報這個錯,所以。。。只能放棄,如果有小夥伴按照這個方法來能夠實現那最好了。(事實上這種方法的本質是封裝了一個popen函數,就是調用了cmd命令視窗來進行解壓,所以又興趣的同學可以直接去找python調用cmd的方法,然後自己寫一個解壓函數就ok。)
第二篇http://blog.csdn.net/q1w2e3r4470/article/details/51859467,操作比第一篇略複雜一點(但也只是相對,事實上我覺得作者只是沒有講清楚,我結合我所查閱的資料對其進行重新整理了一下)
進入正題
第一步
安裝unrar模組 pip install unrar(怎麼用pip就不解釋了)
然後嘗試在IDE中(我用的是pycharm)輸入 from unrar import rarfile並運行,會顯示報錯:
LookupError: Couldn't find path to unrar library.
意思是找不到 unrar library的路徑,這裡我們就需要去下載這個unrar library,事實上它就是UnRAR.dll這個東西,下載網址:http://www.rarlab.com/rar/UnRARDLL.exe 或者去http://www.rarlab.com/rar_add.htm找到UnRAR.dll下載,在lunix下應該需要自己編譯。
第二步:
安裝完後我電腦中的路徑為C:\Program Files (x86)\UnrarDLL,win7 32位的朋友可以將它添加到環境變數中,64位的將其中的X64檔案夾設定為環境變數,因為unrar模組識別的檔案是unrar.dll和unrar.lib,所以將檔案夾中的UnRAR.dll和UnRAR.lib用小寫重新命名。
好了,重新嘗試 from unrar import rarfile並運行,就成功了。(事實上我還是報錯,我把pycharm重新關了之後再啟動就好了,可能是pycharm的更新有延遲)
第三步:
終於可以開始解壓了,命令十分簡單
from unrar import rarfilefile = rarfile.RarFile('file_name') #這裡寫入的是需要解壓的檔案,別忘了加路徑file.extractall('you_want_path') #這裡寫入的是你想要解壓到的檔案夾
去你指定的檔案夾下看看它在不在吧。
如果你還想瞭解其他關於unrar的函數,可以去這裡:https://github.com/matiasb/python-unrar
查看下面的example就可以了。