今天用python处理一些网页抓取内容,为了方便后续处理愤分门别类存到了上千个文件下,显得好乱,于是想到做个压缩包。网上搜了一下并参考官方文档说明,现将python读写zip文件的相关方法整理如下,以便后查:
1、创建zip压缩包
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
/
/
导入zipfile模块
import
zipfile
/
/
以w写入方式创建test.
zip
文件,压缩模式ZIP_STORED模式进行压缩归档,而默认的模式为ZIP_STORED 非压缩归档
zip
=
zipfile.ZipFile(
'test.zip'
,
'w'
, zipfile.ZIP_DEFLATED)
/
/
将filelist中的文件挨个写入
zip
文件
for
filename
in
filelist:
zip
.write(filename)
/
/
关闭文件
zip
.close()
|
2、读取或提取zip文件同样非常简单:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import
zipfile
/
/
以只读方式打开
z
=
zipfile.ZipFile(
'test.zip'
,
'r'
)
/
/
namelist()方法返回
zip
文件列表
for
filename
in
z.namelist():
print
filename
/
/
读取第一个文件的内容
filecontent
=
z.read(z.namelist()[
0
])
print
filecontent
/
/
将第一个文件解压缩到
/
tmp目录下
z.extract(z.namelist()[
0
],
'/tmp'
)
/
/
输出将压缩文件的名称、修改时间和大小信息
zip
.printdir()
z.close()
|
其他还有extractall、setpassword、testzip、is_zipfile等方法在此不一一举例,可以参考python.zipfile