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 相关文章推荐
Python正规则表达式学习指南
Aug 02 Python
Python常用库推荐
Dec 04 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
Mar 22 Python
Python切片工具pillow用法示例
Mar 30 Python
Python异常处理操作实例详解
May 10 Python
Python json模块dumps、loads操作示例
Sep 06 Python
Python自定义函数计算给定日期是该年第几天的方法示例
May 30 Python
Python代码太长换行的实现
Jul 05 Python
解决tensorflow添加ptb库的问题
Feb 10 Python
Spark处理数据排序问题如何避免OOM
May 21 Python
pytorch实现查看当前学习率
Jun 24 Python
python 窃取摄像头照片的实现示例
Jan 08 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
PHP4实际应用经验篇(3)
2006/10/09 PHP
php基础知识:类与对象(2) 自动加载对象
2006/12/13 PHP
php xml文件操作实现代码(二)
2009/03/20 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
2015/05/12 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
JavaScript获取GridView选择的行内容
2009/04/14 Javascript
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
MooTools 页面滚动浮动层智能定位实现代码
2011/08/23 Javascript
Javascript base64编码实现代码
2011/12/02 Javascript
深入解析JavaScript中的数字对象与字符串对象
2015/10/21 Javascript
AngularJS中处理多个promise的方式
2016/02/02 Javascript
js事件冒泡、事件捕获和阻止默认事件详解
2016/08/04 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
MUI实现上拉加载和下拉刷新效果
2017/06/30 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
24个ES6方法解决JS实际开发问题(小结)
2020/05/31 Javascript
[45:25]完美世界DOTA2联赛循环赛 PXG vs IO 第一场 11.06
2020/11/09 DOTA
分享Python字符串关键点
2015/12/13 Python
基于Python开发chrome插件的方法分析
2018/07/07 Python
python统计字符串中字母出现次数代码实例
2020/03/02 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
学python需要去培训机构吗
2020/07/01 Python
详解python 内存优化
2020/08/17 Python
python数据抓取3种方法总结
2021/02/07 Python
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
化学教师教学反思
2014/01/17 职场文书
先进班级集体事迹材料
2014/01/30 职场文书
升旗仪式演讲稿
2014/05/08 职场文书
2015年社区妇联工作总结
2015/04/21 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
MySQL约束(创建表时的各种条件说明)
2022/06/21 MySQL