1. # -*- coding: utf-8 -*-
  2. #python 27
  3. #xiaodeng
  4. #gzip和zipfile模块
  5. #http://www.open-open.com/lib/view/open1398334415312.html
  6.  
  7. import gzip
  8. #1、创建gzip文件
  9. content='I am is a gzip file' #写入gzip中的txt文件中的内容。
  10. f=gzip.open('filename.txt.gz','w')#也可以写成filename.gz,但是没有明确指出压缩包中文件的格式
  11. f.write(content)
  12. f.close()
  13.  
  14. #2、解压gzip文件示例
  15. import gzip
  16. f=gzip.open('filename.txt.gz','r')
  17. content=f.read()
  18. print content
  19. f.close()
  20.  
  21. #3、gzip压缩现有文件
  22. import gzip
  23. f=open('out.txt','r')
  24. f_gzip=gzip.open('filegzip.txt.gz','w')
  25. f_gzip.writelines(f)#一行一行的写入
  26. f_gzip.close()
  27. f.close()
  28.  
  29. #4、GzipFile,打开一个压缩文件对象。
  30. g=gzip.GzipFile(r'filegzip.txt.gz')
  31. print g.read()
  32. #将指针回到第一个位置
  33. g.seek(0)
  34. print g.readlines()#['xiaodeng\n', 'xiaodeng\n', 'xiaodeng']
  35.  
  36. #5、压缩多个文件为zip/gz文件
  37. import zipfile
  38. f=zipfile.ZipFile('result.gz','w')#result.gzresult.zip均可
  39. #写入
  40. f.write('1.txt')
  41. f.write('2.txt')
  42. f.write('3.txt')
  43. f.close()
  44.  
  45. #6、zipfile的方法
  46.  
  47. #1)判断一个文件是否为压缩文件?
  48. print zipfile.is_zipfile('result.gz')#True
  49.  
  50. #2)返回文件列表
  51. f=zipfile.ZipFile('result.gz','r')
  52. print f.namelist()#['1.txt', '2.txt', '3.txt']
  53.  
  54. #3)返回ZipInfo对象,只不过一个返回的是列表
  55. f=zipfile.ZipFile('result.gz','r')# f:压缩包对象
  56. ZipInfo= f.infolist()
  57. print ZipInfo
  58. #[<zipfile.ZipInfo object at 0x01BDEFA0>, <zipfile.ZipInfo object at 0x01C7C030>, <zipfile.ZipInfo object at 0x01C7C098>]
  59.  
  60. #4)遍历压缩包中的每个文件
  61. for files in f.namelist():
  62. print files
  63. '''
  64. 1.txt
  65. 2.txt
  66. 3.txt
  67. '''
  68. #5)解压全部文件到指定目录 r'c:\\',两个斜杠,有一个为转义符
  69. #f.extractall(r'c:\\')
  70.  
  71. #6)解压指定文件名的文件到指定目录 r'c:\\',两个斜杠,有一个为转义符
  72. f.extract('1.txt',r'c:\\')
  73.  
  74. #7)将zip文档的内部信息打印到控制台上。
  75. f.printdir()
  76. '''
  77. File Name Modified Size
  78. 1.txt 2015-11-03 12:25:16 28
  79. 2.txt 2015-11-03 12:25:16 28
  80. 3.txt 2015-11-03 12:25:16 28
  81. '''
  82.  
  83. #8)设置zip文档的密码,经测试没效果??。。。
  84. pwd=''
  85. f.setpassword(pwd)
  86.  
  87. #9)getinfo方法返回一个ZipInfo对象
  88. f=zipfile.ZipFile('2.zip','r')
  89. 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#分页工具类,完美实现List分页

    using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Proje ...

  2. 委托、多播委托、泛型委托Func,Action,Predicate,ExpressionTree

    当试图通过一个事件触发多个方法,抽象出泛型行为的时候,或许可以考虑使用委托.     通过委托构造函数或委托变量把方法赋值给委托 private delegate double DiscountDel ...

  3. javascript中的2个感叹号的用法

    !!是逻辑"非非",即是在逻辑"非"的基础上再"非"一次.通过!或!!可以将很多类型转换成bool类型,再做其它判断.     应用场景:判 ...

  4. RobotFramework自动化1-环境搭建

    前言 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行. Robot Fram ...

  5. coursera课程Text Retrieval and Search Engines之Week 4 Overview

    Week 4 OverviewHelp Center Week 4 On this page: Instructional Activities Time Goals and Objectives K ...

  6. [转]linux sort 命令详解

    原文网址:http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html 1 sort的工作原理 sort将文件的每一行作为一个单位,相互 ...

  7. RxJava 设计理念 观察者模式 Observable lambdas MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  8. Android GUI之View事件处理(二)

    在上篇文章中,我们分析了View的事件处理过程,当然这里的View是指基本的View.当View接收到Touch事件时,首先会调用dispacheTouchEvent方法,在这个方法中会调用OnTou ...

  9. Android -- ViewPager放入多个XML监听每个的控件

    我这这里就用了两个imageButton的监听器,两个XML上分别一个. 昨天做了个Viewpager,今天想试试在上面弄上Button试试,结果,弄不来,然后查文档,没查到...百度了1个多小时才出 ...

  10. EF实体类的枚举属性映射设计方法

    public class FoundationInfo { [Column("id")] public int ID { get; set; } public InvestType ...