
通过python进行文件压缩与解压
检查文件是否存在。 使用 读取密码文件内容。 逐行读取每个密码。 使用 如果密码有效,将其写入新文件中。 确保所有路径使用统一的分隔符(建议使用斜杠 ZIP 文件命名时建议包含格式后缀(如 解压时建议指定明确的保存路径。 密码测试时注意文件路径是否正确。
发布日期:2021-05-07 21:44:10
浏览次数:20
分类:精选文章
本文共 1756 字,大约阅读时间需要 5 分钟。
Zipfile API编程指南
1. Zipfile API类详解
1.1 实例化
使用ZipfileApi
类前,需要先创建实例:
zipfile_instance = ZipfileApi()
1.2 压缩文件方法
compressionFile
方法主要用于将文件或目录压缩到指定 ZIP 文件中。该方法支持两种使用场景:
- 文件压缩:当输入路径指向单个文件时,系统会将该文件直接压缩到 ZIP 文件中。
- 目录压缩:当输入路径指向目录时,系统会递归压缩该目录下的所有文件和子目录。
使用示例
# 示例:压缩文件zipfile_instance.compressionFile(r"C:\Users\Administrator\Desktop\root\qwert", r"D:/root", "rar")# 示例:压缩目录zipfile_instance.compressionFile(r"C:\Users\Administrator\Desktop\root", r"D:/root", "rar")
1.3 解压文件方法
unpackFile
方法用于解压 ZIP 文件到指定路径。该方法默认解压路径为当前目录:
# 示例:解压文件zipfile_instance.unpackFile(r"D:\root.rar", r"C:\Users\Administrator\Desktop")
2. 密码测试功能
2.1 函数逻辑
testZip
函数用于验证 ZIP 文件的密码。其工作流程如下:
zipfile
模块打开 ZIP 文件。 3.尝试解压文件,若成功则返回True
,否则返回False
。使用示例
# 密码测试函数def testZip(filePathname, password): if not os.path.exists(filePathname): print(f"文件{filepathname}不存在") return False zfile = zipfile.ZipFile(filePathname, "r") try: zfile.extractall(pwd=password.encode('utf-8')) return True except Exception as e: print(e) return False
3. 主程序功能
程序主要用于读取密码文件并测试每个密码是否有效。具体流程如下:
testZip
函数验证密码。使用示例
# 程序入口def main(): passFile = open(r'C:\Users\Administrator\Desktop\mayaApi\pass.txt', 'r') for line in passFile.readlines(): password = line.strip() if testZip(r'C:\Users\Administrator\Desktop\mayaApi\pass.zip', password): passFile.close() passFile = open(r'C:\Users\Administrator\Desktop\mayaApi\pass.txt', 'a+') print(password) passFile.write(f'\n{password}') passFile.close()
4. 注意事项
/
)。.rar
)。通过以上 API 可以实现文件的压缩与解压操作,同时支持密码验证功能。
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年04月08日 21时08分02秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【单片机开发】基于stm32的掌上游戏机设计 (项目规划)
2019-03-05
KeepAlived介绍、配置示例、KeepAlived配置IPVS、调用脚本进行监控
2019-03-05
Scala集合-数组、元组
2019-03-05
04 程序流程控制
2019-03-05
C++&&STL
2019-03-05
子集(LeetCode 78)
2019-03-05
1093 Count PAT‘s (25分) 含DP做法
2019-03-05
一篇解决JMM与volatile详解(二)
2019-03-05
数据结构之数组与经典面试题(二)
2019-03-05
无锁并发框架-Disruptor的使用(二)
2019-03-05
Android4.4 平板背光设置
2019-03-05
codeforces The Eternal Immortality 题解
2019-03-05
微信js-sdk使用简述(分享,扫码功能等)
2019-03-05
selenium 的介绍和爬取 jd数据
2019-03-05
mxsrvs支持thinkphp3.2伪静态
2019-03-05
mui HTML5 plus 下载文件
2019-03-05
c++中ifstream及ofstream超详细说明
2019-03-05
c++中explicit和mutable关键字探究
2019-03-05
c语言结构体字节对齐详解
2019-03-05
Deep residual learning for image recognition
2019-03-05