Python压缩解压缩zip文件及破解zip文件密码的方法
python 的 zipfile 提供了非常便捷的方法来压缩和解压 zip 文件。
例如,在py脚本所在目录中,有如下文件:
readability/readability.js readability/readability.txt readability/readability-print.css readability/sprite-readability.png readability/readability.css
将 readability 目录中的文件压缩到脚本所在目录的 readability.zip 文件中,保持相同的文件结构,然后打印出生成的压缩包 的文件列表,再用两种方式分别解压文件到脚本所在目录的 output 目录和 output/bak 目录中。
脚本如下:
#!/usr/vin/env python # coding: utf-8 """ 压缩和解压zip文件 """ import os import zipfile def compress(zip_file, input_dir): f_zip = zipfile.ZipFile(zip_file, 'w') for root, dirs, files in os.walk(input_dir): for f in files: # 获取文件相对路径,在压缩包内建立相同的目录结构 abs_path = os.path.join(os.path.join(root, f)) rel_path = os.path.relpath(abs_path, os.path.dirname(input_dir)) f_zip.write(abs_path, rel_path, zipfile.ZIP_STORED) def extract(zip_file, output_dir): f_zip = zipfile.ZipFile(zip_file, 'r') # 解压所有文件到指定目录 f_zip.extractall(output_dir) # 逐个解压文件到指定目录 for f in f_zip.namelist(): f_zip.extract(f, os.path.join(output_dir, 'bak')) def printdir(zip_file): f_zip = zipfile.ZipFile(zip_file, 'r') print '== printdir() ============================' f_zip.printdir() print print '== namelist() ============================' for f in f_zip.namelist(): print f if __name__ == '__main__': zip_file = 'readability.zip' compress(zip_file, os.path.join(os.getcwd(), 'readability')) printdirzip_file) extract(zip_file, 'output')
python暴力破解含密码的zip压缩文件
思路:
1.先自己生成一份txt的密码字典
2.然后读取出来,一个个的尝试,当密码错误是,程序会报错中断,所以密码错误,要使用pass
3.当解压缩成功后,中断程序,输出正确密码
import zipfile import os from threading import Thread import time #压缩文件的路径 path = r'C:\Users\Administrator\Desktop\moeMaid-master.zip' #password='1234' def pojie_zip(path,password): if path[-4:]=='.zip': #path = dir+ '\\' +file #print path zip = zipfile.ZipFile(path, "r",zipfile.zlib.DEFLATED) #print zip.namelist() try: #若解压成功,则返回True,和密码 zip.extractall(path='C:\\Users\\Administrator\\Desktop\\',members=zip.namelist() , pwd=password) print ' ----success!,The password is %s' % password zip.close() return True except: pass #如果发生异常,不报错 print 'error' def get_pass(): #密码字典的路径 passPath='C:\\Users\\Administrator\\Desktop\\zip.txt' passFile=open(passPath,'r') for line in passFile.readlines(): password=line.strip('\n') print 'Try the password %s' % password if pojie_zip(path,password): break passFile.close() if __name__=='__main__': start=time.clock() get_pass() print "done (%.2f seconds)" % (time.clock() - start)
这是我解压缩一个5.4M文件的速度,其实时间都花在了解压缩上了

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP适合网页开发和快速原型开发,Python适用于数据科学和机器学习。1.PHP用于动态网页开发,语法简单,适合快速开发。2.Python语法简洁,适用于多领域,库生态系统强大。

在 Sublime Text 中运行 Python 代码,需先安装 Python 插件,再创建 .py 文件并编写代码,最后按 Ctrl B 运行代码,输出会在控制台中显示。

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

PHP起源于1994年,由RasmusLerdorf开发,最初用于跟踪网站访问者,逐渐演变为服务器端脚本语言,广泛应用于网页开发。Python由GuidovanRossum于1980年代末开发,1991年首次发布,强调代码可读性和简洁性,适用于科学计算、数据分析等领域。

Golang在性能和可扩展性方面优于Python。1)Golang的编译型特性和高效并发模型使其在高并发场景下表现出色。2)Python作为解释型语言,执行速度较慢,但通过工具如Cython可优化性能。

在 Visual Studio Code(VSCode)中编写代码简单易行,只需安装 VSCode、创建项目、选择语言、创建文件、编写代码、保存并运行即可。VSCode 的优点包括跨平台、免费开源、强大功能、扩展丰富,以及轻量快速。

在 Notepad 中运行 Python 代码需要安装 Python 可执行文件和 NppExec 插件。安装 Python 并为其添加 PATH 后,在 NppExec 插件中配置命令为“python”、参数为“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通过快捷键“F6”运行 Python 代码。
