python bz2模块

Posted 噼里巴啦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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&SYA\\xaf\\x82\\r\\x00\\x00\\x01\\x01\\x80\\x02\\xc0\\x02\\x00 \\x00!\\x9ah3M\\x07<]\\xc9\\x14\\xe1BA\\x06\\xbe\\x084\'
    main()

得到结果:

增量压缩和解压缩

 class bz2.BZ2Compressor(compresslevel=9)

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

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

 class bz2.BZ2Decompressor

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

  decompress(datamax_length=-1)

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

以上是关于python bz2模块的主要内容,如果未能解决你的问题,请参考以下文章

ModuleNotFoundError: No module named ‘_bz2‘ python3安装_bz2模块

ModuleNotFoundError: No module named ‘_bz2‘ python3安装_bz2模块

ModuleNotFoundError: No module named ‘_bz2‘ python3安装_bz2模块

常用python日期日志获取内容循环的代码片段

Python - 模块

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段