# -*- coding: utf-8 -*-#python 27#xiaodeng#gzip和zipfile模块#http://www.open-open.com/lib/view/open1398334415312.htmlimport gzip#1、创建gzip文件content='I am is a gzip file' #写入gzip中的txt文件中的内容。f=gzip.open('filename.txt.gz','w')#也可以写成filename.gz,但是没有明确指出压缩包中文件的格式f.write(content)f.close()#2、解压gzip文件示例import gzipf=gzip.open('filename.txt.gz','r')content=f.read()print contentf.close()#3、gzip压缩现有文件import gzipf=open('out.txt','r')f_gzip=gzip.open('filegzip.txt.gz','w')f_gzip.writelines(f)#一行一行的写入f_gzip.close()f.close()#4、GzipFile,打开一个压缩文件对象。g=gzip.GzipFile(r'filegzip.txt.gz')print g.read()#将指针回到第一个位置g.seek(0)print g.readlines()#['xiaodeng\n', 'xiaodeng\n', 'xiaodeng']#5、压缩多个文件为zip/gz文件import zipfilef=zipfile.ZipFile('result.gz','w')#result.gz或result.zip均可#写入f.write('1.txt')f.write('2.txt')f.write('3.txt')f.close()#6、zipfile的方法#1)判断一个文件是否为压缩文件?print zipfile.is_zipfile('result.gz')#True#2)返回文件列表f=zipfile.ZipFile('result.gz','r')print f.namelist()#['1.txt', '2.txt', '3.txt']#3)返回ZipInfo对象,只不过一个返回的是列表f=zipfile.ZipFile('result.gz','r')# f:压缩包对象ZipInfo= f.infolist()print ZipInfo#[, , ]#4)遍历压缩包中的每个文件for files in f.namelist(): print files ''' 1.txt 2.txt 3.txt '''#5)解压全部文件到指定目录 r'c:\\',两个斜杠,有一个为转义符#f.extractall(r'c:\\')#6)解压指定文件名的文件到指定目录 r'c:\\',两个斜杠,有一个为转义符f.extract('1.txt',r'c:\\')#7)将zip文档的内部信息打印到控制台上。f.printdir()'''File Name Modified Size1.txt 2015-11-03 12:25:16 282.txt 2015-11-03 12:25:16 283.txt 2015-11-03 12:25:16 28'''#8)设置zip文档的密码,经测试没效果??。。。pwd='222222'f.setpassword(pwd)#9)getinfo方法返回一个ZipInfo对象f=zipfile.ZipFile('2.zip','r')print f.filename #获取文件名字