python~module gzip 使用方法,及简介! 附件 python ~ os 模块!!!

来源:互联网 发布:挪威留学 知乎 编辑:程序博客网 时间:2024/05/03 07:07
这个模块提供了一些简单的接口来对文件进行压缩和解压缩
类似于GNU项目的gzip和gunzip,数据的压缩源于zlib模块的支持。
gzip.open(filename, mode='rb', compresslevel=9, encoding=None, errors=None, newline=None)
打开一个gzip已经压缩好的gzip格式的文件,并返回一个文件对象:file object.
参数filename可以是真是的文件名(a str or bytes对象),或着是已经存在的读写文件对象。
参数mode在操作二进制的时候使用:'r','rb','a','ab','wb'
操作text的时候使用:'rt,'at','wt'
默认是:'rb'
参数compresslevel是0-9的数值
如何读取压缩文件import gzipwith gzip.open('/home/joe/file.txt.gz', 'rb') as f:    file_content = f.read()
如何创建一个gzip文件import gzipcontent = b"Lots of content here"with gzip.open('/home/joe/file.txt.gz', 'wb') as f:    f.write(content)
如何gzip一个已存在的文件(把已有文件转换成gzip格式)import gzipimport shutilwith open('/home/joe/file.txt', 'rb') as f_in:    with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:        shutil.copyfileobj(f_in, f_out)
如何gzip压缩一个二进制字符
import gzips_in = b"Lots of content here"s_out = gzip.compress(s_in)
使用gzip模块压缩文件
>>> import gzip #导入python gzip模块,注意名字为全小

>>> g = gzip.GzipFile(filename="", mode="wb", compresslevel=9, fileobj=open('sitemap.log.gz', 'wb'))

>>> g.write(open('d:\\test\\sitemap.xml').read())

>>> g.close()

其中,filename参数是压缩文件内,文件的名字,为空也可以,不修改

fileobj是生成的压缩文件对象,它的路径名称等。

最后是把文件写入gzip文件中去,再关闭操作连接。

filename = 'd:........' whatever ,例如:'d:\\test\\sitemap.log.gz'

使用gzip模块解压缩文件

>>> g = gzip.GzipFile(mode="rb", fileobj=open('d:\\test\\sitemap.log.gz', 'rb')) # python gzip 解压

>>> open(r"d:\\haha.xml", "wb").write(g.read())

使用的时候注意,函数方法的大小写一点要看仔细

如果gzip文件是这种形式的:*.tar.gz,证明先是由tar命令压缩后

后再由 gzip压缩的需要先用解压缩tar文件,再用gzip模块解压缩

其实,现在很多网页为了提高浏览器端用户的访问速度,和搜索引擎爬虫抓取的速度,都在使用gzip压缩。


还不清楚看这里!           或者这里!

os模块看这里

原创粉丝点击