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

最新文章

  1. dcraw源码解析
  2. JDK的安装与Java环境变量的配置详解
  3. angular2 - content projection-
  4. 七牛:关于图片 EXIF 信息中旋转参数 Orientation 的理解
  5. UltraEdit编辑器使用心得之正则表达式篇
  6. [iOS UI进阶 - 4.0] 涂鸦app Demo
  7. MongoDB Windows 下安装部署
  8. PostgreSQL的prepare 和 execute 动作背后
  9. Struts2的工作流程
  10. R.Net 用法
  11. 1. android
  12. table操作:边框-斑马线-多表头-焦点高亮-自动求和
  13. QT 打开文件对话框汇总
  14. jquery常用的选择器
  15. 关于PHP 开启zlib gzip配置
  16. POJ 1985 Cow Marathon (模板题)(树的直径)
  17. ssh 使用技巧
  18. 【手机端判断】PC_to_M自写
  19. 【php】php数组相关操作函数片段
  20. python全栈开发day29-网络编程之socket常见方法,socketserver模块,ftp作业

热门文章

  1. apache伪静态原理图
  2. AJAX 简单归纳 -- 前端知识
  3. 【代码笔记】iOS-MBProgressHUD+MJ
  4. SpringMVC—Struts2拦截器学习网址整理
  5. 图片轮播(Jquery)
  6. 简单CNN 测试例
  7. Android系统常用的adb命令
  8. python基础一数据类型之集合
  9. 如何避免SHRINKDATABASE &amp; SHRINKFILE 产生索引碎片(转载)
  10. 转:stack