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自定义函数的创建、调用和函数的参数详解
Mar 11 Python
Django视图之ORM数据库查询操作API的实例
Oct 27 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
Nov 15 Python
python通过getopt模块如何获取执行的命令参数详解
Dec 29 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
Jan 23 Python
Python安装Flask环境及简单应用示例
May 03 Python
python动态进度条的实现代码
Jul 03 Python
pytorch 在网络中添加可训练参数,修改预训练权重文件的方法
Aug 17 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
Feb 14 Python
使用 Python 读取电子表格中的数据实例详解
Apr 17 Python
Python3接口性能测试实例代码
Jun 20 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
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
document.designMode的功能与使用方法介绍
2007/11/22 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
jquery.post用法之type设置问题
2014/02/24 Javascript
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
js实现九宫格的随机颜色跳转
2017/02/19 Javascript
从零学习node.js之搭建http服务器(二)
2017/02/21 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
详解Vue 换肤方案验证
2019/08/28 Javascript
vue created钩子函数与mounted钩子函数的用法区别
2020/11/05 Javascript
安装dbus-python的简要教程
2015/05/05 Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
tensorflow获取变量维度信息
2018/03/10 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
2021/02/01 Python
Dyson加拿大官方网站:购买戴森吸尘器,风扇,冷热器及配件
2016/10/26 全球购物
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
学生自我鉴定范文
2013/10/04 职场文书
学生拾金不昧表扬信
2014/01/21 职场文书
图书馆志愿者活动总结
2014/06/27 职场文书
2014年教师节红领巾广播稿
2014/09/10 职场文书
文明单位申报材料
2014/12/23 职场文书
学雷锋感言
2015/08/03 职场文书
高一英语教学反思
2016/03/03 职场文书
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL