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 相关文章推荐
Python3实现发送QQ邮件功能(附件)
Dec 23 Python
使用pandas将numpy中的数组数据保存到csv文件的方法
Jun 14 Python
浅析python的Lambda表达式
Feb 27 Python
Python的numpy库下的几个小函数的用法(小结)
Jul 12 Python
Python 绘制酷炫的三维图步骤详解
Jul 12 Python
python的pygal模块绘制反正切函数图像方法
Jul 16 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
Aug 31 Python
PYTHON EVAL的用法及注意事项解析
Sep 06 Python
pytorch中nn.Conv1d的用法详解
Dec 31 Python
python用700行代码实现http客户端
Jan 14 Python
python基础入门之普通操作与函数(三)
Jun 13 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
Apr 12 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
Linux下ZendOptimizer的安装与配置方法
2007/04/12 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
js 绑定键盘鼠标事件示例代码
2014/02/12 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
老生常谈js动态添加事件--- 事件委托
2016/07/19 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
微信小程序 两种为对象属性赋值的方式详解
2017/02/23 Javascript
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
浅谈vue.use()方法从源码到使用
2019/05/12 Javascript
基于layPage插件实现两种分页方式浅析
2019/07/27 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
pycharm 使用心得(八)如何调用另一文件中的函数
2014/06/06 Python
Python简单实现子网掩码转换的方法
2016/04/13 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
对python中的xlsxwriter库简单分析
2018/05/04 Python
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
Python后台开发Django的教程详解(启动)
2019/04/08 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
Python列表的切片实例讲解
2019/08/20 Python
解决python对齐错误的方法
2020/07/16 Python
python从ftp获取文件并下载到本地
2020/12/05 Python
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
土木工程实习生自我鉴定
2013/09/19 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
泰山导游词
2015/02/02 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
中国现代文学之经典散文三篇
2019/09/18 职场文书
nginx配置虚拟主机的详细步骤
2021/07/21 Servers