python读取和压缩ZIP文件

本文介绍了如何使用Python的内置模块轻松处理ZIP文件,包括读取ZIP文件内容,列出压缩包中的文件和文件夹,解压缩整个文件或单个文件到指定目录,以及创建新的ZIP文件并添加文件。
部署运行你感兴趣的模型镜像

ZIP文件即压缩包,python的zipfile模块可以很容易地实现ZIP文件的读取、解压和创建。


使用前需要导入 zipfile模块。

import zipfile

读取

首先,通过zipfile.ZipFile()函数,创建ZipFile对象。

f = zipfile.ZipFile('filename.zip')

接下来,可以通过namelist()方法获取压缩包中的所有文件和文件夹名称列表。

f.namelist()

压缩包中的文件可以通过getinfo()方法传递给特定文件的ZipFile对象。

f1 = f.getinfo('hello.txt')   # hello.txt为压缩包中的一个文件
f1.file_size
f1.compress_size

f表示整个压缩包的对象,而f1表示压缩包中一个文件的对象。f1的属性file_size表示原来文件的大小,而compress_size表示压缩后文件的大小。
最后关闭文件。

f.close()

解压

ZipFile对象的extractall()方法解压ZIP文件,压缩包中的文件都放到当前目录中。

f.extractall()

也可以向该方法传递一个文件夹名称,它将解压后的文件都放到这个文件夹中。

f.extractall('good')

如果需要解压单个文件,则要用到extract()方法。

f.extarct('hello.txt')  # hello.txt为压缩包中的一个文件

也可以向该方法传递第二个参数,表示解压的文件夹。

f.extarct('hello.txt''goodone')  # hello.txt为压缩包中的一个文件

创建

如果需要压缩为ZIP文件,则需要以写模式打开ZipFile对象,即传入w作为第二个参数。

f = zipfile.ZipFile('filename.zip', 'w')

向该对象的write()方法传入一个路径名,即可压缩这个路径名所指的文件。该方法的第二个参数表示压缩算法。

f = write('good.txt', compress_type=zipfile.ZIP_DEFLATED)

如果需要将文件添加到已有的压缩文件中,则需要以添加模式打开这个ZIP文件。

f = zipfile.ZipFile('filename.zip', 'a')

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值