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中lambda的用法及其与def的区别解析
Jul 28 Python
详解Python迭代和迭代器
Mar 28 Python
Python内置数据结构与操作符的练习题集锦
Jul 01 Python
Python3多线程爬虫实例讲解代码
Jan 05 Python
Python+tkinter模拟“记住我”自动登录实例代码
Jan 16 Python
Python正则表达式匹配和提取IP地址
Jun 06 Python
python3.6根据m3u8下载mp4视频
Jun 17 Python
python使用if语句实现一个猜拳游戏详解
Aug 27 Python
pycharm 关掉syntax检查操作
Jun 09 Python
浅谈Python 参数与变量
Jun 20 Python
python openCV实现摄像头获取人脸图片
Aug 20 Python
python中的垃圾回收(GC)机制
Sep 21 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
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
PHP递归复制、移动目录的自定义函数分享
2014/11/18 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
extJs 常用到的增,删,改,查操作代码
2009/12/28 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
js 链式延迟执行DOME
2012/01/04 Javascript
js和jquery使按钮失效为不可用状态的方法
2014/01/26 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
为什么JavaScript没有块级作用域
2016/05/22 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
用jQuery.ajaxSetup实现对请求和响应数据的过滤
2016/12/20 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
JS中使用media实现响应式布局
2017/08/04 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
2017/12/22 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
2019/11/25 Javascript
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
python通过ftplib登录到ftp服务器的方法
2015/05/08 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
python将时分秒转换成秒的实例
2019/12/07 Python
Python3和PyCharm安装与环境配置【图文教程】
2020/02/14 Python
浅谈django 模型类使用save()方法的好处与注意事项
2020/03/28 Python
Python爬虫与反爬虫大战
2020/07/30 Python
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
爱普生美国官网:Epson美国
2018/11/05 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
大学生求职简历的自我评价
2013/10/21 职场文书
建筑经济管理专业求职信分享
2014/01/06 职场文书
个人自我剖析材料
2014/02/07 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
毕业生实习期转正自我鉴定
2014/09/26 职场文书
2015暑期爱心支教策划书
2015/07/14 职场文书
Python使用华为API为图像设置多个锚点标签
2022/04/12 Python