the Python challenge中第6关使用到zipfile模块,于是记录下zipfile的使用

zip日常使用只要是压缩跟解压操作,于是从这里入手

1、压缩

f=zipfile.ZipFile(file, mode="r", compression=ZIP_STORED, allowZip64=False)

创建一个zip文件对象,压缩是需要把mode改为‘w’,这个是源码中的注释Open the ZIP file with mode read "r", write "w" or append "a",a为追加压缩,不会清空原来的zip

f.write(filename)

将文件写入zip文件中,即将文件压缩

f.close()

将zip文件对象关闭,与open一样可以使用上下文with as

import zipfile

with zipfile.ZipFile('test.zip', mode='w') as zipf:
zipf.write('channel.zip')
zipf.write('zip_test.py') zipf = zipfile.ZipFile('test.zip')
print zipf.namelist()

2、解压

f.extract(directory)和f.exractall(directory)

import zipfile

zipf = zipfile.ZipFile('test.zip')

zipf.extractall('channel1')#将所有文件解压到channel1目录下

高级应用 
1 zipfile.is_zipfile(filename) 
判断一个文件是不是压缩文件 
2 ZipFile.namelist() 
返回文件列表 
3 ZipFile.open(name[, mode[, password]]) 
打开压缩文档中的某个文件

if zipfile.is_zipfile('test.zip'): #is_zipfile() 判断是否似zip文件
f = zipfile.ZipFile('test.zip')
files = f.namelist() #namelist() 返回zip压缩包中的所有文件
print 'files:', files
mess = f.open('channel/readme.txt') #打开zip压缩包中的某个文件,可读可写
print 'mess:', mess.read()
f.close()

最新文章

  1. We have a problem with promises
  2. How Google TestsSoftware - Part One
  3. 64位 ubuntu android studio gradle 权限不够 缺少文件和权限导致
  4. Oracle DBA从小白到入职实战应用
  5. 介绍一些实用的IOS手势识别库 (COCOS2D)
  6. asp.net httpmodule问题
  7. Ambari安装组件出错
  8. 兼容ie7以上的 placeholder属性
  9. ●BZOJ 1797 [Ahoi2009]Mincut 最小割
  10. 在Windows Service 2012上安装IIS 8.0 IIS 6
  11. sqlserver中分区函数 partition by与 group by 区别 删除关键字段重复列
  12. AngularJS中监视Scope变量以及外部调用Scope方法
  13. zabbix监控k8s出现的pod error status
  14. 如何下载一个物种的全部EST序列 | NCBI | 表达序列标签
  15. 【百度统计】设置页面元素点击事件转化pv、uv
  16. JDK环境变量的配置说明
  17. Javascript replace 为什么只替换一个字符?
  18. SpringBoot集成Mybatis-PageHelper分页工具类,实现3步完成分页
  19. js学习笔记知识点
  20. Visual studio之C#实现数字输入模拟键盘

热门文章

  1. 《Fluid Engine Development》 学习笔记1-求解线性方程组
  2. 阿里云ecs自动创建快照教程
  3. 关于VS2010工程各种路径注意事项汇总
  4. Linux 学习笔记 1 使用最小的系统,从分区安装系统开始
  5. Python2 中字典实现的分析【翻译】
  6. U盘防病毒
  7. jira使用一:如何给项目分组、sprint并行、禁止发送消息给atlassian
  8. Memory Barriers Are Like Source Control Operations
  9. [转帖]Linux系列之SAR命令使用详解
  10. Word 分栏页码,一个页面两个不同页码的设置