# -*- 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. Using Windows Server 2012 Backup for Hyper-V Virtual Machines. Error 80780176 - The specified component was not reported by the VSS writer.

    https://social.technet.microsoft.com/Forums/windowsserver/en-US/1a1e0066-f421-43d6-970b-1e20e674cdf9 ...

  2. 用最简单的例子理解观察者模式(Observer Pattern)

    假设有一个软件公司,每当有新产品推出,就把信息通知到一些客户. 把通知这个动作抽象成一个接口. public interface IService { void Notif(); } 客户如果想获得通 ...

  3. .NET泛型03,泛型类型的转换,协变和逆变

    协变(Convariant)和逆变(Contravariant)的出现,使数组.委托.泛型类型的隐式转换变得可能. 子类转换成基类,称之为协变:基类转换成子类,称之为逆变..NET4.0以来,支持了泛 ...

  4. AutoCAD二次开发——AutoCAD.NET API开发环境搭建

    AutoCAD二次开发工具:1986年AutoLisp,1989年ADS,1990年DCL,1993年ADS-RX,1995年ObjectARX,1996年Active X Automation(CO ...

  5. android 管理手机短信

    为了看代码方便,一边在网上google资料,一边看Android java 源代码. 偶然发现了一个类MmsSmsDatabaseHelper.java,原来android将所有的短信信息都存入了mm ...

  6. winform禁用标题栏

    protected override void WndProc(ref Message m) { if (m.Msg == 0x112) { switch ((int)m.WParam) { //禁止 ...

  7. 【BZOJ】【2741】【FOTILE模拟赛】L

    可持久化Trie+分块 神题……Orz zyf & lyd 首先我们先将整个序列搞个前缀异或和,那么某一段的异或和,就变成了两个数的异或和,所以我们就将询问[某个区间中最大的区间异或和]改变成 ...

  8. scala编程第17章学习笔记(3)

    可变(mutable)集合与不可变(immutable)集合 为了更易于完成不可变集合到可变集合的转换,或者反向转换,Scala提供了一些语法糖.纵使不可变集和映射并不支持真正的+=方法,Scala还 ...

  9. Redis中对Key进行分类

    使用":"体现层次 >set key1:key2:key4 value1 "OK" >set key1:key2:key5 value2 " ...

  10. 《Small Memory Software:Patterns For System With Limited Memory》读书笔记

    原文地址:http://blog.csdn.net/jinzhuojun/article/details/13297447 虽然摩尔定律让我们的计算机硬件得以以指数速度升级,但反摩尔定律又不断消减这些 ...