zoukankan      html  css  js  c++  java
  • python bz2模块

    bz2模块提供了使用bzip2算法压缩和解压缩数据一套完整的接口。

    bz2模块包括:

     用于读写压缩文件的open()函数BZ2File

     用于一次性压缩和解压缩的compress() 和 decompress() 函数

     用于增量压缩和解压的 BZ2Compressor 和 BZ2Decompressor 

    文件压缩和解压

    bz2.open(filename, mode='r', compresslevel=9, encoding=None, errors=None, newline=None)

    以二进制或文本模式打开 bzip2 压缩文件,返回一个文件对象。

    import bz2
    
    file = bz2.open('xy.bz2', 'r')
    for line in file:
        print(line)

    class bz2.BZ2File(filename, mode='r', buffering=None, compresslevel=9)

    用二进制模式打开 bzip2 压缩文件

    一次性的压缩和解压缩

    bz2.compress(data)

    压缩文件

    bz2.decompress(data)

    解压缩文件

    import bz2
    
    def main():
        username = bz2.decompress(un)
        username = username.decode()
        print(username)
        username1 = bz2.compress(username.encode())
        print(username1)
    
    if __name__ == '__main__':
        un = b'BZh91AY&SYAxafx82
    x00x00x01x01x80x02xc0x02x00 x00!x9ah3Mx07<]xc9x14xe1BAx06xbex084'
        main()

    得到结果:

    增量压缩和解压缩

     class bz2.BZ2Compressor(compresslevel=9)

      compress(data向压缩对象提供数据,提供完压缩数据后,使用fiush()方法以完成压缩方法

      flush() 结束压缩进程,返回内部缓冲中剩余的压缩完成的数据。

     class bz2.BZ2Decompressor

    创建一个新的解压缩器对象。该对象可用于递增地解压缩数据。

      decompress(datamax_length=-1)

      解压缩数据,将未压缩的数据作为字节返回

  • 相关阅读:
    makedown
    前端
    关于阅读与自我认同
    Win10任务栏透明工具 TranslucentTB
    Linux文件属性
    解决vscode出现两个光标的问题
    一文搞懂vim复制粘贴
    解决vim选中文字不能复制的问题
    简单配置让iterm2用得更爽
    区块链相关在线加解密工具(非对称加密/hash)
  • 原文地址:https://www.cnblogs.com/xiaozx/p/10709720.html
Copyright © 2011-2022 走看看