码迷,mamicode.com
首页 > 编程语言 > 详细

python bz2模块

时间:2019-04-15 11:44:26      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:解压缩   使用   strong   字节   scn   str   结果   translate   for   

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 = bBZh91AY&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模块

标签:解压缩   使用   strong   字节   scn   str   结果   translate   for   

原文地址:https://www.cnblogs.com/xiaozx/p/10709720.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!