python怎样压缩和解压缩ZIP文件

 我来答
87...7@qq.com
2017-01-19 · 超过59用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:50.9万
展开全部
一、读取zip文件
首先,通过zipfile模块打开指定zip文件,如:
zpfd = zipfile.ZipFile(path, mode='r')
对于zipfile,其标志与open所用的打开文件标志有所不同,不能识别 'rb'。
然后,读取zip文件中的内容,zipfile对象提供一个read(name)的方法,name为zip文件中的一个文件入口,执行完成之后,将返回读出的内容,如:
for filename in zpfd.namelist():
tmpcont = zpfd.read(filename)
print 'len(tmpcont)', 'tmpcont'
需要注意的是,读取zip文件时,只能读取内容
二、写入zip文件
首先,需要zipfile模块写打开或创建zip文件,如:
zpfd = zipfile.ZipFile(path, mode='w')
写打开是标志可以为'w'或'a'('a'表示写入一个zip文件), 或者传入第三个参数cmopression压缩标志
compression=zipfile.ZIP_DEFLATED 需要导入zlib模块
compression=zipfile.ZIP_STORED则表示只对文件进行打包,并不压缩
写入有两种方式,一种是直接写入一个已经存在的文件,可使用zipfile对象中write(filename, arcname, compress_type)第一个参数为文件名,第二个参数指写入zip文件中的文件名,默认与filename一致,第三个参数压缩标志可以覆盖打开zipfile时的使用参数;另一种是写入一个字符串,可使用zipfile对象中的writestr(zinfo_or_arcname, bytes),第一个参数是zipinfo对象或写到zip文件中的压缩名,第二个参数是待写入的字符串
最后,对于打开的zipfile对象需要进行关闭,从而使得写入内容真正写入磁盘,即:
zpfd.close()
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式