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选择排序算法的实现代码
Nov 21 Python
python实现多线程采集的2个代码例子
Jul 07 Python
python中Genarator函数用法分析
Apr 08 Python
利用Python查看目录中的文件示例详解
Aug 28 Python
在pandas中一次性删除dataframe的多个列方法
Apr 10 Python
使用pandas读取csv文件的指定列方法
Apr 21 Python
python实现汉诺塔算法
Mar 01 Python
django 2.2和mysql使用的常见问题
Jul 18 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
Feb 29 Python
详解python安装matplotlib库三种失败情况
Jul 28 Python
5款实用的python 工具推荐
Oct 13 Python
Pycharm配置autopep8实现流程解析
Nov 28 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
解决GD中文乱码问题
2007/02/14 PHP
收藏的一个php小偷的核心程序
2007/04/09 PHP
PHP中文分词的简单实现代码分享
2011/07/17 PHP
PHP中读写文件实现代码
2011/10/20 PHP
PHP工程师VIM配置分享
2015/12/15 PHP
100行PHP代码实现socks5代理服务器
2016/04/28 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
jQuery ajax cache缓存问题
2010/07/01 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
Dom 结点创建 基础知识
2011/10/01 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
JavaScript匿名函数用法分析
2015/02/13 Javascript
jquery实现简易的移动端验证表单
2015/11/08 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
2016/05/24 Javascript
手机Web APP如何实现分享多平台功能
2016/08/19 Javascript
jquery事件绑定解绑机制源码解析
2016/09/19 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
JS实现字符串翻转的方法分析
2018/08/31 Javascript
vue中的ref和$refs的使用
2018/11/22 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
react 原生实现头像滚动播放的示例
2020/04/21 Javascript
微信小程序实现打卡签到页面
2020/09/21 Javascript
Python实现数据库编程方法详解
2015/06/09 Python
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
opencv 图像腐蚀和图像膨胀的实现
2020/07/07 Python
Kaufmann Mercantile官网:家居装饰、配件、户外及更多
2018/09/28 全球购物
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
简单叙述一下MYSQL的优化
2016/05/09 面试题
出纳试用期自我鉴定范文
2014/09/16 职场文书
购房个人委托书范本
2014/10/11 职场文书
2016小学新学期寄语
2015/12/04 职场文书
MySQL大小写敏感的注意事项
2021/05/24 MySQL