Python 的 zipfile 模块可创建、读取、解压 ZIP 文件。1. 创建压缩文件用 ZipFile 类写模式,write() 添加文件,支持循环添加多文件及 ZIP_DEFLATED 压缩;2. 读取信息用 namelist() 和 infolist() 查看文件名与详情;3. 解压用 extractall() 到指定目录或 extract() 单个文件;4. testzip() 检测完整性,返回 None 表示正常。注意路径与模式选择。

Python 中使用 zipfile 模块可以轻松实现文件的压缩与解压,无需依赖外部工具。它支持读取、创建和写入 ZIP 格式的归档文件,适用于日常开发中的打包、备份或传输多个文件的场景。
1. 创建 ZIP 压缩文件
使用 ZipFile 类并以写模式(’w’)打开 ZIP 文件,然后通过 write() 方法添加文件。
示例:将一个文件压缩为 zip
import zipfilewith zipfile.ZipFile('example.zip', 'w') as zipf:zipf.write('sample.txt')
如果要压缩多个文件,可以循环添加:
立即学习“Python免费学习笔记(深入)”;
files_to_zip = ['file1.txt', 'file2.txt', 'image.jpg']with zipfile.ZipFile('bundle.zip', 'w') as zipf: for file in files_to_zip: zipf.write(file)
建议使用压缩选项减少体积:
with zipfile.ZipFile('compressed.zip', 'w', compression=zipfile.ZIP_DEFLATED) as zipf: zipf.write('large_file.log')
2. 读取 ZIP 包信息
查看 ZIP 文件中包含哪些文件及其详细信息。
with zipfile.ZipFile('example.zip', 'r') as zipf: print(zipf.namelist()) # 打印所有文件名 for info in zipf.infolist(): print(f"{info.filename}: {info.file_size} bytes")
3. 解压 ZIP 文件
将 ZIP 文件内容解压到指定目录。
with zipfile.ZipFile('example.zip', 'r') as zipf: zipf.extractall('output_folder/') # 解压全部
也可以只解压某个特定文件:
with zipfile.ZipFile('example.zip', 'r') as zipf: zipf.extract('sample.txt', 'single_output/')
4. 检查 ZIP 文件是否有效
使用 testzip() 方法验证压缩包完整性,返回 None 表示无损坏。
with zipfile.ZipFile('suspect.zip', 'r') as zipf: bad_file = zipf.testzip() if bad_file: print(f"文件损坏: {bad_file}") else: print("文件正常")
基本上就这些常用操作。掌握 zipfile 模块后,处理日常压缩任务会非常方便,不复杂但容易忽略细节比如路径管理和压缩模式选择。
以上就是Python 文件压缩与解压 zipfile 模块的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1382426.html
微信扫一扫
支付宝扫一扫