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使用pylab库实现画线功能的方法详解
Jun 08 Python
简述:我为什么选择Python而不是Matlab和R语言
Nov 14 Python
实践Vim配置python开发环境
Jul 02 Python
python opencv 批量改变图片的尺寸大小的方法
Jun 28 Python
Django Channels 实现点对点实时聊天和消息推送功能
Jul 17 Python
Python学习笔记之Break和Continue用法分析
Aug 14 Python
Python使用matplotlib绘制三维参数曲线操作示例
Sep 10 Python
python缩进长度是否统一
Aug 02 Python
PyTorch中clone()、detach()及相关扩展详解
Dec 09 Python
python基于Kivy写一个图形桌面时钟程序
Jan 28 Python
如何利用python和DOS获取wifi密码
Mar 31 Python
Python基础详解之描述符
Apr 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
ftp类(example.php)
2006/10/09 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
Thinkphp框架开发移动端接口(2)
2016/08/18 PHP
PHP 无限级分类
2017/05/04 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
2019/07/26 PHP
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
JQuery设置时间段下拉选择实例
2014/12/30 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
2015/03/04 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
微信小程序 闭包写法详细介绍
2016/12/14 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
jQuery实现的事件绑定功能基本示例
2017/10/11 jQuery
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
mpvue开发音频类小程序踩坑和建议详解
2019/03/12 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
2019/05/21 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
python 自定义装饰器实例详解
2019/07/20 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
Keras在训练期间可视化训练误差和测试误差实例
2020/06/16 Python
python用Configobj模块读取配置文件
2020/09/26 Python
浅谈pc和移动端的响应式的使用
2019/01/03 HTML / CSS
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
质检的岗位职责
2013/11/17 职场文书
婚礼证婚人证婚词
2014/01/13 职场文书
购房意向书
2014/08/30 职场文书
团委副书记工作总结
2015/08/14 职场文书
最新的离婚协议书范本!
2019/07/02 职场文书