当前位置:编程学习 > python >>

飘逸的python - 简明gzip模块压缩教程

 压缩数据创建gzip文件
先看一个略麻烦的做法
[python]
import StringIO,gzip 
content = 'Life is short.I use python' 
zbuf = StringIO.StringIO() 
zfile = gzip.GzipFile(mode='wb', compresslevel=9, fileobj=zbuf) 
zfile.write(content) 
zfile.close() 

import StringIO,gzip
content = 'Life is short.I use python'
zbuf = StringIO.StringIO()
zfile = gzip.GzipFile(mode='wb', compresslevel=9, fileobj=zbuf)
zfile.write(content)
zfile.close()
但其实有个快捷的封装,不用用到StringIO模块

[python]
f = gzip.open('file.gz', 'wb') 
f.write(content) 
f.close() 

f = gzip.open('file.gz', 'wb')
f.write(content)
f.close()

压缩已经存在的文件
python2.7后,可以用with语句

[python]
import gzip 
with open("/path/to/file", 'rb') as plain_file: 
    with gzip.open("/path/to/file.gz", 'wb') as zip_file: 
        zip_file.writelines(plain_file) 

import gzip
with open("/path/to/file", 'rb') as plain_file:
    with gzip.open("/path/to/file.gz", 'wb') as zip_file:
        zip_file.writelines(plain_file)

如果不考虑跨平台,只在linux平台,下面这种方式更直接

[python]
from subprocess import check_call 
check_call('gzip /path/to/file',shell=True) 

from subprocess import check_call
check_call('gzip /path/to/file',shell=True)

 

补充:Web开发 , Python ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,