首先说一下我的系统和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 rarfile
file = rarfile.RarFile('file_name') #这里写入的是需要解压的文件,别忘了加路径
file.extractall('you_want_path') #这里写入的是你想要解压到的文件夹
去你指定的文件夹下看看它在不在吧!
如果你还想了解其他关于unrar的函数,可以去这里:https://github.com/matiasb/python-unrar
查看下面的example就可以了!