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

 更新时间:2014年11月19日 11:15:52   投稿:shichen2014  
这篇文章主要介绍了python通过zlib实现压缩与解压字符串的方法,较为详细的介绍了zlib的用法及使用zlib.compressobj和zlib.decompressobj对文件进行压缩解压的方法,需要的朋友可以参考下

本文实例讲述了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 Tornado框架详解

    python Tornado框架详解

    Tornado是一个 Python Web框架,用于开发高性能网络应用程序,本文给大家详细介绍python Tornado框架的相关知识,感兴趣的朋友一起看看吧
    2024-03-03
  • python 使用递归的方式实现语义图片分割功能

    python 使用递归的方式实现语义图片分割功能

    这篇文章主要介绍了python 使用递归的方式实现语义图片分割,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Python常用编译器原理及特点解析

    Python常用编译器原理及特点解析

    这篇文章主要介绍了Python常用编译器原理及特点解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Python图形绘制操作之正弦曲线实现方法分析

    Python图形绘制操作之正弦曲线实现方法分析

    这篇文章主要介绍了Python图形绘制操作之正弦曲线实现方法,涉及Python使用numpy模块数值运算及matplotlib.pyplot模块进行图形绘制的相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • 使用python向MongoDB插入时间字段的操作

    使用python向MongoDB插入时间字段的操作

    这篇文章主要介绍了使用python向MongoDB插入时间字段的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python求最小公倍数4种方法总结

    Python求最小公倍数4种方法总结

    这篇文章主要给大家介绍了关于Python求最小公倍数4种方法的相关资料,最小公倍数不可以像最大公约数那样直接利用辗转相除法求出,但可以借助辗转相除法求得的最大公约数来求最小公倍数,需要的朋友可以参考下
    2023-10-10
  • Pytorch 抽取vgg各层并进行定制化处理的方法

    Pytorch 抽取vgg各层并进行定制化处理的方法

    今天小编就为大家分享一篇Pytorch 抽取vgg各层并进行定制化处理的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python中的flask框架详解

    Python中的flask框架详解

    flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,本文给大家介绍Python中的flask框架,感兴趣的朋友跟随小编一起看看吧
    2022-02-02
  • DRF框架API版本管理实现方法解析

    DRF框架API版本管理实现方法解析

    这篇文章主要介绍了DRF框架API版本管理实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • python实现高精度求自然常数e过程详解

    python实现高精度求自然常数e过程详解

    这篇文章主要为大家介绍了python实现高精度求自然常数e过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05

最新评论