在python中解压rar文件

原创 2016年08月30日 10:32:20

首先说一下我的系统和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就可以了!

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

python解压压缩包的几种方法

这里讨论使用Python解压如下五种压缩文件: .gz .tar  .tgz .zip .rar 简介 gz: 即gzip,通常只能压缩一个文件。与tar结合起来就可以实现先打包,再...

python解压rar文件

应用场景在数据预处理阶段,有时候会发现我们的数据存储在大量杂乱无章的压缩文件中,这些压缩文件还可能处在复杂的目录树结构下。这时候你可能会想写个python脚本来处理。

Python解压zip和rar文件

Python解压zip和rar文件,及解决中文问题 更多0 Python RAR Zip 如上篇所说,我要使用Python解压一些文件,一来就不懂,google到zipfil...

解决Python下安装unrar后仍然提示Couldn't find path to unrar library...

在写Python脚本的时候,由于做rar文件解压要用到unrar库,我们都会加上一句: from unrar import rarfile 然而,你会发现,做了上述操作后,并不能通过Python程序实...

第一个Python小程序:Zip文件口令破解器

第一个Python小程序:Zip文件口令破解器 最近在看一本关于Python应用的书,本身也刚接触Python不久,已被py的强大魅力所感染! 下面就不介绍基本的语法了,有兴趣的...

Python暴力破解rar压缩包

# -*- coding:utf8 -*- #!/usr/bin/env pythonimport osfor i in range(10000): p = str(i) cmd = ...

【python初学】Python批量解压RAR脚本

学习python也有一段时间了,不过完全是看书看书在看书,完全没有搞过实战,无论是简单的还是有难度的。这两天因为一系列原因,从网上下载了一大堆压缩包,里面全是一些素材模板,我需要一个一个解压找寻自己需...

[Python]处理压缩文件

这里讨论Python处理如下五种文件: gz tar tgz zip rar gz: 即gzip,通常只能压缩一个文件。于tar结合起来就可以实现先打包,再压缩。 tar: linux系统下的打包工具...

python模块之zipfile

这篇文章是从我的另一个blog转过来的: http://hi.baidu.com/python23/  zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)