import zipfile
try:
with zipfile.ZipFile('test.zip') as zFile:
# 创建ZipFile对象
# 解压文件
zFile.extractall(path='./',pwd=b'1234')
print('解压成功!')
except:
print('解压失败')
在过去的文章中,我们介绍了使用Python脚本来破解ZIP压缩包的方法。现在让我们开始吧!下面是整个过程的展示:
- 创建密码字典(常用密码)并尝试使用每个密码来解压文件,直到成功解压为止。
- 密码字典可以包含常见的密码组合。例如,假设我们有一个由纯数字组成的六位密码”050825″,我们可以遍历从”000000″到”999999″的所有可能密码,并将结果保存到一个文本文件中。
这种方法的缺点是比较死板,只能处理六位数字密码,并且可能占用大量内存。 - 为了解决这个问题,有人开发了一个”字典生成器”。你只需要传入两个参数:”密码的组成元素”和”密码的长度列表”。例如,对于纯数字密码”050825″,你可以传入以下参数:
这样,你就可以根据自己的需求生成密码的Python生成器。我们知道,生成器不会占用太多内存。
如果你需要处理字符串密码,可以在第一个参数中加入”a-z”和”A-Z”。 - 解压ZIP文件时,我们可以使用Python自带的zipfile模块。该模块提供了读取、写入、追加和解压ZIP文件的功能。
“解压”操作主要使用ZipFile对象的extractall()方法。
extractall(path=None, members=None, pwd=None)方法有三个主要参数。让我们来看看每个参数的含义:
源码:
在本次文章中,我们将使用上次介绍的进度条可视化技术。关于进度条,本程序使用了tqdm扩展库,你可以参考下面的链接了解更多:用Python制作可视化进度条。
在代码中,tqdm有两个参数:
4秒后战斗结束…
感谢您阅读本文,这是Python实用脚本系列的最后一篇文章。下一篇文章将分享如何批量下载百度图片。主要内容包括:
- 2000多本Python电子书(包括主流和经典书籍)
- Python标准库资料(最全的中文版)
- 项目源码(包括四五十个有趣且经典的练手项目及其源码)
- Python基础入门、爬虫、Web开发、大数据分析方面的视频(适合初学者)
- Python学习路线图(帮助您规划学习路径)
- 两天的Python爬虫训练营直播权限