Python实现加密的RAR文件解压的方法(密码已知)


Posted in Python onSeptember 11, 2020

博主之前在网上找了很多资料,发现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文件解压内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Windows8上的搭建Python和Django环境
Jul 03 Python
Python内置的字符串处理函数详细整理(覆盖日常所用)
Aug 19 Python
python中关于for循环的碎碎念
Jun 30 Python
Python实现简单遗传算法(SGA)
Jan 29 Python
Django处理文件上传File Uploads的实例
May 28 Python
python实现自主查询实时天气
Jun 22 Python
windows上安装python3教程以及环境变量配置详解
Jul 18 Python
python numpy 反转 reverse示例
Dec 04 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
Dec 05 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
Apr 12 Python
python脚本第一行如何写
Aug 30 Python
windows系统Tensorflow2.x简单安装记录(图文)
Jan 18 Python
降低python版本的操作方法
Sep 11 #Python
Django crontab定时任务模块操作方法解析
Sep 10 #Python
Django日志及中间件模块应用案例
Sep 10 #Python
Django nginx配置实现过程详解
Sep 10 #Python
使用Python操作MySQL的小技巧
Sep 10 #Python
python编写实现抽奖器
Sep 10 #Python
Python字符串及文本模式方法详解
Sep 10 #Python
You might like
Zend的AutoLoad机制介绍
2012/09/27 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
PHP设计模式之抽象工厂模式实例分析
2019/03/25 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
2020/07/08 PHP
jquery预览图片实现鼠标放上去显示实际大小
2014/01/16 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
Ajax高级笔记 JavaScript高级程序设计笔记
2017/06/22 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
详解React项目的服务端渲染改造(koa2+webpack3.11)
2018/03/19 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
js/jQuery实现全选效果
2019/06/17 jQuery
jQuery实现可编辑的表格
2019/12/11 jQuery
JavaScript中的惰性载入函数及优势
2020/02/18 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
python计算日期之间的放假日期
2018/06/05 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
Python requests模块实例用法
2019/02/11 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
python 利用matplotlib在3D空间中绘制平面的案例
2021/02/06 Python
外包公司软件测试工程师
2014/11/01 面试题
2013年入党人员的自我鉴定
2013/10/25 职场文书
关于毕业的中学校园广播稿
2014/01/26 职场文书
实习评语大全
2014/04/26 职场文书
幼儿园六一亲子活动方案
2014/08/26 职场文书
健康状况证明书
2014/11/26 职场文书
春季运动会加油词
2015/07/18 职场文书
安全生产标语口号
2015/12/26 职场文书
2016年教代会开幕词
2016/03/04 职场文书
Apache Calcite 实现方言转换的代码
2021/04/24 Servers
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL