gzip 模块,提供了简单的压缩和解压缩文件的接口,和 GNU 程序的 gzip 和 gunzip 类似,数据压缩是通过 zlib 模块实现的
1、模块的类:
gzip.GzipFile([filename[, mode[, compresslevel[, fileobj[, mtime]]]]]):构建一个 GzipFile 类,和普通文件对象类似
参数设置:
filename:压缩文件里的文件名
mode:同打开文件时指定的模式,默认是 fileobj 的模式,如果 fileobj 为 none,默认 rb
compresslevel:0 表示不压缩,1-9 递增速度变慢,压缩变多,默认 9
fileobj:压缩或解压缩的文件,或是一个 StringIO 对象,或是任何模仿文件的对象
mtime:压缩时写入流的时间戳,所有 gzip 的压缩流要有一个时间戳,默认现在的时间。在解压缩时这个参数会被忽略
类的方法:
和普通文件对象类似,除了 readinto() 和 truncate() 方法没有外基本都一样
close():不会关闭 fileobj 对象,要关闭 fileobj 对象要调用它自己的关闭方法。这就允许在结束后对 StringIO 对象调用 getvalue() 方法获得结果
2、模块方法:
gzip.open(filename[, mode[, compresslevel]]):打开 filename 文件,其余参数意义同上,其实就是简化版的 GzipFile(filename, mode, compresslevel)