python通过zlib实现压缩与解压字符串的方法


Posted in Python onNovember 19, 2014

本文实例讲述了python通过zlib实现压缩与解压字符串的方法。分享给大家供大家参考。具体实现方法如下:

使用zlib.compress可以压缩字符串。使用zlib.decompress可以解压字符串。如下

#coding=utf-8

import zlib

s = "hello word, 00000000000000000000000000000000"

print len(s)

c = zlib.compress(s)

print len(c)

d =  zlib.decompress(c)

print d

 
示范代码2:
import zlib

message = 'witch which has which witches wrist watch'

compressed = zlib.compress(message) 

decompressed = zlib.decompress(compressed) 

print 'original:', repr(message) 

print 'compressed:', repr(compressed) 

print 'decompressed:', repr(decompressed) #输出original: 'witch which has which witches wrist watch'

compressed: 'xx9c+xcf,IxceP(xcfxc8x04x92x19x89xc5PV9H4x15xc8+xca,.Q(Ox04xf2x00D?x0fx89'

decompressed: 'witch which has which witches wrist watch'

如果我们要对字符串进行解压可以使用zlib.compressobj和zlib.decompressobj对文件进行压缩解压
def compress(infile, dst, level=9):

    infile = open(infile, 'rb')

    dst = open(dst, 'wb')

    compress = zlib.compressobj(level)

    data = infile.read(1024)

    while data:

        dst.write(compress.compress(data))

        data = infile.read(1024)

    dst.write(compress.flush())

def decompress(infile, dst):

    infile = open(infile, 'rb')

    dst = open(dst, 'wb')

    decompress = zlib.decompressobj()

    data = infile.read(1024)

    while data:

        dst.write(decompress.decompress(data))

        data = infile.read(1024)

    dst.write(decompress.flush())

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python中pip安装非PyPI官网第三方库的方法
Jun 02 Python
Python设计模式之抽象工厂模式
Aug 25 Python
python 调用c语言函数的方法
Sep 29 Python
pip matplotlib报错equired packages can not be built解决
Jan 06 Python
Python实现识别手写数字大纲
Jan 29 Python
python requests 测试代理ip是否生效
Jul 25 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
Apr 30 Python
python 比较2张图片的相似度的方法示例
Dec 18 Python
Python实现对adb命令封装
Mar 06 Python
django实现将后台model对象转换成json对象并传递给前端jquery
Mar 16 Python
Python打印特殊符号及对应编码解析
May 07 Python
使用sklearn对多分类的每个类别进行指标评价操作
Jun 11 Python
python判断字符串是否纯数字的方法
Nov 19 #Python
python使用any判断一个对象是否为空的方法
Nov 19 #Python
python编写暴力破解FTP密码小工具
Nov 19 #Python
用python读写excel的方法
Nov 18 #Python
kNN算法python实现和简单数字识别的方法
Nov 18 #Python
决策树的python实现方法
Nov 18 #Python
linux 下实现python多版本安装实践
Nov 18 #Python
You might like
彻底杜绝PHP的session cookie错误
2009/08/09 PHP
打造超酷的PHP数据饼图效果实现代码
2011/11/23 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
jQuery的学习步骤
2011/02/23 Javascript
自定义jQuery选项卡插件实例
2013/03/27 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
JS判定是否原生方法
2013/07/22 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
Javascript实现登录记住用户名和密码功能
2017/03/22 Javascript
JavaScript实现分页效果
2017/03/28 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
Node.js笔记之process模块解读
2018/05/31 Javascript
详解性能更优越的小程序图片懒加载方式
2018/07/18 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
2019/10/17 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
2020/11/06 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
[57:31]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第一场 2月1日
2021/03/11 DOTA
python调用shell的方法
2013/11/20 Python
Python创建对称矩阵的方法示例【基于numpy模块】
2017/10/12 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
详解Python3 对象组合zip()和回退方式*zip
2019/05/15 Python
pandas计数 value_counts()的使用
2019/06/24 Python
python-docx文件定位读取过程(尝试替换)
2020/02/13 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
Python try except finally资源回收的实现
2021/01/25 Python
优秀教师先进事迹
2014/01/22 职场文书
俄罗斯商务邀请函
2014/01/26 职场文书
党员对照检查材料整改措施思想汇报
2014/09/26 职场文书
html5实现点击弹出图片功能
2021/07/16 HTML / CSS