zipfile模块,提供了基本操作后缀为“zip”的文件的接口,一般使用 ZipFile 类完成操作

1、模块方法

zipfile.is_zipfile(filename):判断 filename 是否是一个有效的 zip 文件

2、模块的类

2.1 ZipFile 类,读写 ZIP 文件

2.1.1 初始化构建类:ZipFile(file[, mode[, compression[, allowZip64]]]):打开一个 ZIP 格式的文件进行读写

参数设置:
file:要打开的文件
mode:打开文件方式,有 r 和 w、a,默认为 r,读取一个已存在的文件,w 会覆盖或写新文件,对一个已存在的 ZIP 文件以 a 模式打开,会把新文件加入压缩包中,如果不是 ZIP 文件,会把压缩文件加入到 file 中去(不知道会发生什么。。)
compression:指定压缩方法,默认 ZIP_STORED,还可以是 zlib 模块下支持的 ZIP_DEFLATED
allowZip64:默认 False,为 True 时可以操作大于 2GB 的文件

2.1.2 实例方法

close():关闭压缩文件,退出程序前不关闭的话会导致未写入
getinfo(name):返回一个 ZipInfo 对象,包含压缩文件里名为 name 的信息
infolist():返回一个列表,每个元素都是一个 ZipInfo 对象,对应压缩文件里的每个文件
namelist():列表形式返回压缩文件里的每个文件名
printdir():输出压缩包内容至 sys.stdout
setpassword(pwd):设置默认密码
open(name[, mode[, pwd]]):解压名为 name 的文件,以只读的 file-like 对象返回(有以下方法 read(), readline(), readlines(), __iter__(), next()),mode 可以为 r、U、rU,pwd 指定解压密码
extract(member[, path[, pwd]]):解压名为 member 的文件到当前目录,path 指定解压至别的目录,pwd 指定密码
extractall([path[, members[, pwd]]]):解压所有文件至当前目录,path 指定解压至别的目录,member 指定只解压其中的哪些文件,pwd 指定密码
read(name[, pwd]):字节形式返回 name 的解压结果,pwd 指定密码
write(filename[, arcname[, compress_type]]):把 filename 文件压缩,压缩包内名字为 arcname,compress_type 可以覆盖类的压缩方法
writestr(zinfo_or_arcname, bytes[, compress_type]):把 bytes 写入压缩包内,名为 zinfo_or_arcname,compress_type 可以覆盖类的压缩方法

2.1.3 实例属性

debug:设置 debug 信息输出等级,默认 0,不输出,最高 3
comment:设置 ZIP 文件的提示信息

2.2 PyZipFile 对象

2.2.1 PyZipFile 对象和 ZipFile 对象完全相同,只是多了一个额外方法

writepy(pathname[, basename]):把 pathname 下 *.py[co] 文件都压缩

2.3 ZipInfo 对象,是由 ZipFile 的 getinfo() 和 infolist() 方法生成的对象

2.3.1 实例属性

filename:压缩文件名
date_time:文件最后修改时间,年、月、日、时、分、秒
compress_type:压缩方法
comment:提示信息
extra:额外数据信息(不清楚指什么)
create_system:创建压缩包的系统信息
create_version:压缩包的 PKZIP 版本信息
extract_version:解压需要的 PKZIP 版本信息
reserved:一定是 0
flag_bits:ZIP 标志位
volume:文件头的 Volume number
internal_attr:内部属性
external_attr:文件外部属性
header_offset:文件头偏移量
CRC:压缩前文件的 crc-32 值
compress_size:压缩后文件大小
file_size:压缩前文件大小

3、命令行接口

可以用以下格式直接在命令行下调用:python -m zipfile ...
“...”部分有以下几种格式:
-l <zipfile>:列出压缩包内文件
-c <zipfile> <source1> ... <sourceN>:把 N 个 source 文件压缩至 zipfile
-e <zipfile> <output_dir>:解压 zipfile 至目标路径
-t <zipfile>:检验是否为有效的 zipfile

Python2.7-zipfile的更多相关文章

  1. SaltStack实战

    SaltStack实战 #安装 安装注意几点 python-libs-2.6.6-64.el6.x86_64 conflicts with file from package python-2.6.6 ...

  2. python 安装 setuptools Compression requires the (missing) zlib module 的解决方案

    背景: 虚拟机centos下安装python辅助工具 setuptools报错,错误信息大概如下: Traceback (most recent call last): File "setu ...

  3. python安装途中遇到的问题和解决方法

    一.setuptools安装错误:RuntimeError: Compression requires the (missing) zlib module 1. 描述 搞了个腾讯云的服务器,闲在手上没 ...

  4. fadora24安装settools,pip包出错解决方法

    1.fadora24安装Python2.7 [root@dev ~]# python bash: python: 未找到命令... 安装软件包“python”以提供命令“python”? [N/y] ...

  5. Python安装setuptools时报Compression requires the (missing) zlib

    装机员为您提供Python安装setuptools时报Compression requires the (missing) zlib的文章咨询供您阅读,如何使用Python安装setuptools时报 ...

  6. 自动发布工具版本从python2升级成python3后遇到的种种问题(涉及paramiko,Crypto,zipfile等等)

    从在公司实习到正式入职,一直还在被同事使用的是我写的一个自动发布工具.该工具的主要功能是:开发人员给出需要更新的代码包(zip格式),测试人员将该代码包部署到测服,这些代码包和JIRA数据库里的项目信 ...

  7. Python之文件与目录操作及压缩模块(os、shutil、zipfile、tarfile)

    Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...

  8. 回味Python2.7——笔记4

    一.Python 标准库概览 1.操作系统接口 os 模块提供了很多与操作系统交互的函数: >>> import os >>> os.getcwd() # Retu ...

  9. python2/python3 内存中打包/压缩文件

    python2:(包含压缩选项,如果只打包,可以调整zipfile.ZIP_DEFLATED) import zipfile import StringIO class InMemoryZip(obj ...

  10. Python第二十天 shutil 模块 zipfile tarfile 模块

    Python第二十天  shutil 模块  zipfile   tarfile 模块 os文件的操作还应该包含移动 复制  打包 压缩 解压等操作,这些os模块都没有提供 shutil 模块shut ...

随机推荐

  1. [翻译]C# BAD PRACTICES: Learn how to make a good code by bad example---C#:如何将坏的代码重新编译为好的代码

    自己的前言说明: 本文原作者:Radoslaw Sadowski,原文链接为:C# BAD PRACTICES: Learn how to make a good code by bad exampl ...

  2. JAVA 并发:CLH 锁 与 AbstractQueuedSynchronizer

    首先向Doug Lea致敬. CLH 以下是CLH锁的一个简单实现: class SimpleCLHLock { /** * initialized with a dummy node */ priv ...

  3. Bash:字符串操作

    参考:http://blog.csdn.net/finewings/article/details/5718133 字符串提取 去掉指定前缀 1. ${varible#pattern}         ...

  4. python短信发送

    '''以云之讯平台为例:''' url = 'https://open.ucpaas.com/ol/sms/sendsms' # 账户sidsid = 'f0ad70b276a8b63eb44f415 ...

  5. promise的理解和应用

    老铁们,我又满血复活了,今天我准备来吹一波我对promise,如有错吴请直接指出,明白了吗?话不多说开始吧 首先我们需要知道啥叫promise,我问了问大佬,他说这个东西是 异步操作的同步代码(but ...

  6. js 函数中形参与实参的关系

    函数中形参与实参的关系 对于形参和实参的定义,在 权威指南中有着明确的定义.但是,我们更在意的是它们之间的关系,到底形参会不会影响到实参? 形参到底会不会影响到实参? 对于这个问题的答案,请先看以下两 ...

  7. css之background-position属性实现雪碧图

    什么是雪碧图 雪碧图就是CSS Sprite,也有人叫它CSS精灵,是一种CSS图像合并技术,就是把多张小图标合并到一张图片上,然后用css的background-position来显示需要显示的部分 ...

  8. Java基础笔记(2) 程序入口 关键字 标识符 常量 变量

    提醒:关于那些和我一样新鸟来看资料的,能看懂多少看多少,看不懂的就是不重要,重要的你想我自己学习肯定要标注的,这些信息明白每个知识点实际作用就好了,其他的比如等会讲的常量内存,常量池这些都是我找的资料 ...

  9. Python 基于python实现的http接口自动化测试框架(含源码)

    基于python实现的http+json协议接口自动化测试框架(含源码) by:授客 QQ:1033553122      欢迎加入软件性能测试交流 QQ群:7156436  由于篇幅问题,采用百度网 ...

  10. IE浏览器“自定义安全级别”不能设置的原因

    “自定义安全级别”和滑块都是灰色,不允许设置.可能的原因: 1.组策略里面设置了: 2.启用了IE增强的安全设置: 程序卸载->选择windows组件->取消增强的安全设置