# -*- coding: utf-8 -*-
#python 27
#xiaodeng
#gzip和zipfile模块
#http://www.open-open.com/lib/view/open1398334415312.html import 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 gzip
f=gzip.open('filename.txt.gz','r')
content=f.read()
print content
f.close() #3、gzip压缩现有文件
import gzip
f=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 zipfile
f=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
#[<zipfile.ZipInfo object at 0x01BDEFA0>, <zipfile.ZipInfo object at 0x01C7C030>, <zipfile.ZipInfo object at 0x01C7C098>] #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 Size
1.txt 2015-11-03 12:25:16 28
2.txt 2015-11-03 12:25:16 28
3.txt 2015-11-03 12:25:16 28
''' #8)设置zip文档的密码,经测试没效果??。。。
pwd=''
f.setpassword(pwd) #9)getinfo方法返回一个ZipInfo对象
f=zipfile.ZipFile('2.zip','r')
print f.filename #获取文件名字

gzip和zipfile模块的更多相关文章

  1. python笔记之ZipFile模块

    python笔记之ZipFile模块 zipfile模块用来做zip格式编码的压缩和解压缩的,zipfile里有两个非常重要的class, 分别是ZipFile和ZipInfo, 在绝大多数的情况下, ...

  2. zipfile模块

    在python中操作zip文件, 基本上都是使用zipfile模块,他可以创建.解压文件,获取zip文件的元数据信息. 我们想要操作一个zip文件,第一步就是初始化ZipFile实例. 1.打开tes ...

  3. Python之路(第十八篇)shutil 模块、zipfile模块、configparser模块

    一.shutil 模块 1.shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中,需要打开文件 import shutil shutil.co ...

  4. Python ZipFile模块详解(转)

    Python zipfile模块用来做zip格式编码的压缩和解压缩的,zipfile里有两个非常重要的class, 分别是ZipFile和ZipInfo, 在绝大多数的情况下,我们只需要使用这两个cl ...

  5. Python标准库学习之zipfile模块

    ZipFile模块里有两个非常重要的class, 分别是 ZipFile和ZipInfo. ZipFile是主要的类,用来创建和读取zip文件,而ZipInfo是存储的zip文件的每个文件的信息的. ...

  6. python3中zipfile模块的常用方法

    一.zipfile模块的简述 zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的, 在这里对zipfile的使用方法做一些记 ...

  7. Python连载13-shutile模块(续)和zipfile模块

    一.shutil模块(续) 1.函数:upack_archive() (1)用法:解包操作 (2)格式:shutil.unpack_archive("归档文件地址“,”解包之后的地址“) ( ...

  8. python学习笔记之zipfile模块

    为什么学习: 在做自动化测试平台的apk上传功能部分时候,涉及到apk上传后提取apk的icon图标,通过aapt解析apk,获取对应icon在apk中的地址,通过python的zipfile模块来解 ...

  9. python中zipfile模块实例化解析

    文章内容由--“脚本之家“--提供,在此感谢脚本之家的贡献,该网站网址为:https://www.jb51.net/ 简介: zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是 ...

随机推荐

  1. C#程序集系列08,设置程序集版本

    区别一个程序集,不仅仅是程序集名称,还包括程序集版本.程序集公匙.程序集文化等,本篇体验通过界面和编码设置程序集版本. □ 通过Visual Studio设置程序集版本 →右键项目,选择"属 ...

  2. 《学习opencv》笔记——矩阵和图像操作——cvInRange,cvInRangeS,cvInvert and cvMahalonobis

    矩阵和图像的操作 (1)cvInRange函数 其结构 void cvInRange(//提取图像中在阈值中间的部分 const CvArr* src,//目标图像 const CvArr* lowe ...

  3. java表格 JTable实例 (带滚动条,内嵌选择框)

    import javax.swing.JTable; import javax.swing.table.AbstractTableModel; import javax.swing.JScrollPa ...

  4. 如何判断某版本的.NET Framework是否安装

    1..NET Framework .NET Framework2.0    键:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\N ...

  5. UTF-8,Unicode,GBK,希腊字母读法,ASCII码表,HTTP错误码,URL编码表,HTML特殊字符,汉字编码简明对照表

    UNICODE,GBK,UTF-8区别 UNICODE,GBK,UTF-8区别    简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那 ...

  6. 混沌数学之Standard模型

    相关软件混沌数学之离散点集图形DEMO 相关代码: class StandardEquation : public DiscreteEquation { public: StandardEquatio ...

  7. C++ string 字符串查找匹配

    在写C++程序中,总会遇到要从一个字符串中查找一小段子字符串的情况,对于在C中,我们经常用到strstr()或者strchr()这两种方法.而对于C++的string,我们往往会用到find(). C ...

  8. [置顶] think in java interview-高级开发人员面试宝典(一)

    “生死六重门” 无论你是在职,非在职,高级工程师,工程师,架构师,如果你正在面试阶段,请看完此文! 相信这篇文章对你的职业生涯和阶值观会造成重大的改变! 如果你是一名PM或者是管理者正在物色合适的开发 ...

  9. 【K8S】K8S-网络模型、POD/RC/SVC YAML 语法官方文档

    K8S-网络模型.POD/RC/SVC YAML 语法官方文档 Kubernetes - Production-Grade Container Orchestration kubernetes/kub ...

  10. Oracle综合数据库管理命令集

    sqlplus SANKYU/SANKYU@ORADB_192.168.25.235 cmd: exp .......(最后不要加;号)--sankyuexp SANKYU/SANKYU@SUNNY ...