python|Python — lzma压缩

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

  • 压缩或解压时发生错误
  • 初始化压缩器与解压器的状态时发生错误
二、读写压缩文件
1、接口1
【python|Python — lzma压缩】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|Python — lzma压缩
文章图片

(2).读取压缩文件
python|Python — lzma压缩
文章图片

除了直接读取意外,我们还可以使用一个解压缩软件来解压缩我们创建的文件
python|Python — lzma压缩
文章图片

然后使用文本编辑器打开我们解压的软件,看看编码是不是正确
python|Python — lzma压缩
文章图片

3、接口2
lzma.compress(data)
该函数可以压缩数据(字节对象),反悔一个数据被压缩的字节二进制对象。
lzma.decompress(data)
解压一个已经被压缩过后的数据(字节对象),反悔一个解压的二进制数据对象。
注意: 如果数据是几个独立的压缩流的连接,那么将会一起解压所有这些流,并且反悔结果的连接
4、例子2
(1).在内存中进行压缩
python|Python — lzma压缩
文章图片

可以看到,一个原来2554字节的文件,被压缩到只有768字节
注意:只有文件有一定大小的时候才能体现出压缩的优势。如果对一个普通的字符串压缩,可能反而变大
(2).解压一个已经被压缩的数据
python|Python — lzma压缩
文章图片

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


    推荐阅读