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)

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

  • 相关阅读:
    树的最小支配集 最小点覆盖 与 最大独立集 (图论)
    P1993 小K的农场 (差分约束)
    P1168 中位数 (优先队列,巧解)
    STL 优先队列
    P3799 妖梦拼木棒 (组合数学)
    P2389 电脑班的裁员 (动态规划)
    3-Java中基本数据类型的存储方式和相关内存的处理方式(java程序员必读经典)
    1-匿名对象
    2-封装性
    2-递归调用
  • 原文地址:https://www.cnblogs.com/xiaozx/p/10709720.html
Copyright © 2011-2022 走看看