Python 文件压缩与解压 zipfile 模块

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

python 文件压缩与解压 zipfile 模块

Python 中使用 zipfile 模块可以轻松实现文件的压缩与解压,无需依赖外部工具。它支持读取、创建和写入 ZIP 格式的归档文件,适用于日常开发中的打包、备份或传输多个文件的场景。

1. 创建 ZIP 压缩文件

使用 ZipFile 类并以写模式(’w’)打开 ZIP 文件,然后通过 write() 方法添加文件。

示例:将一个文件压缩为 zip

import zipfile

with 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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月14日 23:54:14
下一篇 2025年12月14日 23:54:27

相关推荐

发表回复

登录后才能评论
关注微信