10.3 bz2--支持bzip2压缩和解压

本模块主要提供了支持bzip2压缩算法的操作功能。bz2库包含内容:open()函数和BZ2File类主要用来读写压缩的文件;BZ2Compressor和BZ2Decompressor类提供增量式的压缩和解压缩;compress()和decompress()函数提供了一次性地压缩和解压的数据功能。

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

打开一个 bzip2压缩的文件对象返回,打开方式可以是二进制或文本方式。参数filename可以是一个文件名称,或者一个已经存在的文件对象;参数mode是打开文件的方式,可以支持:‘r‘, ‘rb‘, ‘w‘, ‘wb‘, ‘x‘, ‘xb‘, ‘a‘, ‘ab‘, ‘rt‘, ‘wt‘, ‘xt‘, or ‘at‘ ;参数compresslevel是压缩级别,可以是1到9级别;对于文本方式可以使用参数encoding/errors/newline等参数。

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

以二进制的方式打开bzip2压缩的文件。如果参数filename是str或bytes类型,直接打开此文件,否则就当作文件对象来操作;参数mode与前面函数一样;参数buffering已经不再使用,忽略掉;参数compresslevel与前面函数一样。

peek([n])

返回缓冲区里的数据,但不移动文件位置指针。

class bz2.BZ2Compressor(compresslevel=9)

创建一个新压缩对象,本对象使用在增量式地压缩数据。参数compresslevel是压缩级别,范围是1到9,默认值是9.

compress(data)

提供部分数据给压缩对象,返回一块已经压缩的数据对象,或空对象。剩余部分数据等到调用flush()函数才会进行压缩返回。

flush()

完成压缩过程,返回最后压缩的数据对象。

class bz2.BZ2Decompressor

创建解压缩对象,增量式地解压缩。

decompress(data)

对提供的数据尝试解压缩,如果可以解压就返回解压的数据对象。

eof

如果到达文件尾返回True。

unused_data

结束了压缩流之后未曾使用的数据。

bz2.compress(data, compresslevel=9)

对数据data进行一次性地压缩。

bz2.decompress(data)

对数据data进行一次性地解压。

例子:

#python 3.4

from bz2 import BZ2File

line = b‘http://blog.csdn.net/caimouse‘

with BZ2File(‘test.bz2‘, ‘wb‘) as f:

f.write(line)

with BZ2File(‘test.bz2‘, ‘rb‘) as f:

test = f.read()

print(test)

结果输出如下:

b‘http://blog.csdn.net/caimouse‘

蔡军生  QQ:9073204  深圳

时间: 2024-08-05 23:40:32

10.3 bz2--支持bzip2压缩和解压的相关文章

Linux下的压缩和解压

1. gzip, bzip2 能否直接压缩目录呢? 不可以 2. 请快速写出,使用gzip和bzip2压缩和解压一个文件的命令.压缩:gzip 1.txt bzip2 1.txt解压:gzip -d 1.txt.gz bzip2 -d 1.txt.bz2 3. tar 在打包的时候,如果想排除多个文件或者目录如何操作?--exclude filename 4. 请实验,如果不加 "-" 是否正确, 如 tar zcvf  1.tar.gz  1.txt 2.txt ?正确,可以执行命令

java zip压缩和解压(支持中文)

package com.xeon.mis.utils; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.util.Enumeration; impor

Linux tar(用来压缩和解压文件)

通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具.linux中最流行的tar是麻雀虽小,五脏俱全,功能强大. tar命令可以为linux的文件和目录创建档案.利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件.tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案.利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便

Xceed Zip压缩和解压控件Xceed Zip Compression Library

Xceed Zip Compression Library 是一个高性能的 Zip 和 Unzip 数据压缩ActiveX控件.通过它,可以创建和操作与Zip文件,也能在内存中直接压缩/解压数据.它设计提供高度灵活性,并且使用快速的多线程 zip 压缩引擎. 具体功能: ActiveX 技术 ATL 3.0编写,简单且独立的 COM 对象和 ActiveX 控件. 无须外部的压缩动态链接库, MFC DLL 或运行库等. 同时有单线程 (STA) 和多线程 (MTA) 模型设计. 不必将组件置于

ATL 64位压缩和解压控件Xceed Zip for x64

Xceed Zip for x64控件是一款ActiveX控件,行业里最先进的ZIP压缩库,采用ASE加密技术对文件.文件夹进行压缩与解压缩,控件是完全独立的对象,采用ATL 3.0编写,可容易地集成于您的64位应用程序中. 具体功能: 控件完全支持WinZip 9.0以上,并且兼容AES强加密技术 100%兼容PKZIP 2.04g 和PKZIP 4.5格式 支持Zip64 Zip文件格式,并且创建ZIP文件几乎没有大小限制 支持BZip2(BWT)压缩方法,可以压缩15%-20% 兼容最新的

.net文件压缩和解压及中文文件夹名称乱码问题

/**************************注释区域内为引用http://www.cnblogs.com/zhaozhan/archive/2012/05/28/2520701.html的博客内容 在.NET可以通过多种方式实现zip的压缩和解压:1.使用System.IO.Packaging:2.使用第三方类库:3.通过 System.IO.Compression 命名空间中新增的ZipArchive.ZipFile等类实现. 一.使用System.IO.Packaging压缩和解压

Linux下tar bz gz等压缩包的压缩和解压

Linux下用户经常需要备份计算机系统中的数据,为了节省存储空间,常常将备份文件进行压缩,本文是对压缩和解压命令的大致总结 .tar.gz  解压:tar zxvf FileName.tar.gz  压缩:tar zcvf FileName.tar.gz dirName solaris下解压 *.tar.gz可能有些不同,按照以下两步实现解压: 1.gzip -d *.tar.gz 2.tar xvf *.tar 第一步,先把*.tar.gz格式解压成*.tar格式 第二步,直接解压*.tar格

iOS开发 -文件下载(6压缩和解压)

iOS开发网络篇—文件下载(六·压缩和解压) 一.完成文件下载 需求:完成文件下载 1.在本地服务器中,添加一个图片的压缩文件. 2.代码示例: 文件下载器代码: 头文件 1 // 2 // YYfileDownloader.h 3 // 01-文件的下载(不合理) 4 // 5 // Created by apple on 14-7-1. 6 // Copyright (c) 2014年 itcase. All rights reserved. 7 // 8 9 #import <Founda

linux压缩和解压,socket编程

1.使用zip和unzip压缩和解压 Zip aa.zip  文件名(一个) Zip aa.zip 文件名1 文件名2(压缩多个文件) Zip -r aa.zip  文件夹路径(压缩整个文件夹) zip -t 102002 file.zip 压缩当前目录下在2002 10月20日之后的文件压缩 zip file.zip * -x file2.txt 压缩时,将当前目录内的file2.txt文件排除在外 2.解压 unzip aa.zip unzip file.zip x file2 :除了fil