在日常开发中,我们经常需要处理压缩文件,比如打包日志、备份数据或分发资源。Python 提供了一个强大又易用的标准库——zipfile,专门用于读写 ZIP 格式的压缩文件。本文将带你从零开始,全面掌握 Python zipfile库 的基本用法,即使你是编程新手,也能轻松上手!
zipfile 是 Python 自带的标准库之一,无需额外安装,即可实现对 ZIP 文件的创建、读取、解压和信息查询等操作。它支持标准 ZIP 格式,也兼容加密 ZIP(需提供密码)。
要创建一个 ZIP 文件,我们使用 ZipFile 类,并以写入模式('w')打开文件。
import zipfilewith zipfile.ZipFile('example.zip', 'w') as zipf: # 添加单个文件 zipf.write('document.txt') # 添加多个文件(可使用循环) files_to_add = ['image.jpg', 'data.csv'] for file in files_to_add: zipf.write(file)
注意:默认情况下,write() 方法会保留文件在磁盘上的完整路径。如果你只想保存文件名(不带目录),可以使用 arcname 参数:
zipf.write('path/to/document.txt', arcname='document.txt')
解压操作同样简单。使用 extract() 解压单个文件,或用 extractall() 解压全部内容。
import zipfilewith zipfile.ZipFile('example.zip', 'r') as zipf: # 解压所有文件到指定目录 zipf.extractall('output_folder') # 或只解压某个文件 zipf.extract('document.txt', path='output_folder')
在不解压的情况下,你可以列出 ZIP 文件中的所有成员:
import zipfilewith zipfile.ZipFile('example.zip', 'r') as zipf: file_list = zipf.namelist() print("ZIP 中包含的文件:", file_list) # 获取每个文件的详细信息 for info in zipf.infolist(): print(info.filename, info.file_size, "bytes")
- 使用 with 语句确保 ZIP 文件正确关闭,避免资源泄露。
- 如果 ZIP 文件受密码保护,可在 extract() 或 extractall() 中传入 pwd 参数(需为 bytes 类型)。
- Python zipfile库 不支持 ZIP64 扩展的某些高级功能(如超大文件),但在常规场景下完全够用。
通过本教程,你应该已经掌握了 Python压缩解压 的核心技能。无论是自动化脚本还是 Web 后端开发,zipfile模块教程 中介绍的方法都能助你高效处理 ZIP 文件。快去动手试试吧!
关键词回顾:Python zipfile库、ZIP文件操作、Python压缩解压、zipfile模块教程
本文由主机测评网于2025-12-10发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025125733.html