Python — lzma压缩

一、异常

lzma这个包中只提供了一个异常:lzma.LZMAError。这个异常只有如下情况会抛出:

  • 压缩或解压时发生错误

  • 初始化压缩器与解压器的状态时发生错误

二、读写压缩文件

1、接口1

lzma中提供了一个借口,专门用来访问压缩文件:lzma.open(filename, mode="rb")

(1).filename参数,通常是一个字符串表示的文件路径

(2).mode参数是文件模式,文件模式可以是:

  • 文本模式:`"rt", "wt", "xt", "at"

  • 二进模式:"r", "rb", "w", "wb", "x", "xb", "a" , "ab"

更多Python视频、源码、资料加群683380553免费获取

2、例子1

(1).创建压缩文件

Python — lzma压缩

(2).读取压缩文件

Python — lzma压缩_第1张图片

除了直接读取意外,我们还可以使用一个解压缩软件来解压缩我们创建的文件

Python — lzma压缩_第2张图片

然后使用文本编辑器打开我们解压的软件,看看编码是不是正确

Python — lzma压缩_第3张图片

3、接口2

lzma.compress(data)

该函数可以压缩数据(字节对象),反悔一个数据被压缩的字节二进制对象。

lzma.decompress(data)

解压一个已经被压缩过后的数据(字节对象),反悔一个解压的二进制数据对象。

注意: 如果数据是几个独立的压缩流的连接,那么将会一起解压所有这些流,并且反悔结果的连接

4、例子2

(1).在内存中进行压缩

Python — lzma压缩_第4张图片

可以看到,一个原来2554字节的文件,被压缩到只有768字节

注意:只有文件有一定大小的时候才能体现出压缩的优势。如果对一个普通的字符串压缩,可能反而变大

(2).解压一个已经被压缩的数据

Python — lzma压缩_第5张图片

如此,就完成了我们对数据的压缩和解压。

 

 

你可能感兴趣的:(python,python,压缩)