当前位置 博文首页 > python通过zlib实现压缩与解压字符串的方法

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

    作者:admin 时间:2021-07-17 18:41

    本文实例讲述了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程序设计有所帮助。

    jsjbwy
    下一篇:没有了