摘自: https://www.jianshu.com/p/bbc8672a2d09
一. from __future__ import ****
[版本更新之后想在原来的版本使用新版本的一些功能]
二. python zipfile使用
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()
三.