昨天写爬虫的时候,要实现一个功能,打包一个文件夹为zip文件。除了调用系统的zip命令之外,还可以适用python的zipfile模块来实现相应功能。
下面简要介绍zipfile的用法:
#创建压缩zip文件
f=zipfile.ZipFile('test.zip','w',ZIP_DEFLATED)#如果test.zip不存在,则创建;存在,则清空
f.write('a.txt')#将a.txt写入到zip文件下
f.write('b/b.txt')#将b/b.txt写入到zip文件下,且文件名是b/b.txt
f.close()
#解压文件
f=zipfile.ZipFile('filename')
f.extractall()#相当于windows的winrar解压到当前目录
f.close()
对各个方法进行简单介绍:
1. zipfile.ZipFile(file,mode='r',ZIP_STORED,allowZip64=false)
该语句创建一个ZipFile的类。
mode和一般的文件操作一样,'r'表示打开一个存在的只读ZIP文件;'w'表示清空并打开一个只写的ZIP文件,或创建一个只写的ZIP文件;'a'表示打开一个ZIP文件,并添加内容。
compression表示压缩格式,可选的压缩格式只有2个:ZIP_STORE;ZIP_DEFLATED。ZIP_STORE是默认的,表示不压缩;ZIP_DEFLATED表示压缩。
acrname是压缩文件中该文件的名字,默认情况下和filename一样
compress_type的存在是因为zip文件允许被压缩的文件可以有不同的压缩类型。
path解压缩目录,没什么可说的
member需要解压缩的文件名儿列表