zlib模块支持提供的数据压缩,兼容GNU压缩程序gzip。此外,gzip模块提供 GzipFile类读写gzip格式文件,自动压缩或解压缩数据,因此类似一个普通文件对象。注意,其他可以被gzip和gunzip解压缩的文件格式, 如由compress和pack产生的压缩文件,不被这个模块支持。
模块定义了如下条例:
class GzipFile([filename[, mode[, compresslevel[, fileobj]]]])
构造GzipFile类,类似大部分文件对象方法,有readinto()和trancate()方法异常,至少fileobj和filename必须为一个non-trivial的值。
基于fileobj产生的新类实例可以产生一个规则文件,一个StringIO对象,或任何类似文件的对象。默认是None,此处filename是产生一个文件对象。
当fileobj是None,filename只能使用包含压缩文件的原始文件的gzip文件头,默认fileobj文件是可识别的,其他,必须默认为空文本,同时原始文件名不比包含文件头。
mode可以为’r’,’rb’,’a’,’ab’,’w’或‘wb’,依赖文件是否被读或被写。默认可识别的fileobj模式:其他情况下默认是‘rb’,如果没有设定,‘b’标志将被添加到模式保证文件打开二进制模式交叉平台兼容。
压缩级别参数是一个从1到9的整数,控制压缩级别。1最快,最小压缩,9最慢,最大压缩,默认为9。
调用GzipFile对象close()方法不会关闭fileobj,由于你可能在压缩数据后添加更多材料。支持传递一个打开的StringIO对象作为fileobj,获取内存缓冲区结果使用StringIO对象的getvalue()方法。
open(filename[, mode[, compresslevel]])
GzipFile的速记方法(filename,mode,compresslevel),参数filename需要,mode默认为’rb’,压缩级别默认为9
See Also:
Module zlib:
基础数据压缩模块需要gzip文件格式
出自:python 2.5手册 12.2 gzip — Support for gzip files
翻译:ubunoon@sina.com
日期:2008-2-13
保留翻译版权!