Lempel-谢夫马尔可夫链算法使用设有比其它压缩算法更高的压缩比的字典压缩方案(LZMA)执行无损数据压缩。Python的lzma模块由用于通过LZMA算法压缩和解压缩数据的类和便利函数组成。
尽管此模块中的功能类似于bz2模块,但是与BZ2File类相比,LZMAFile类不是线程安全的。
同样,open()lzma模块中的函数是打开lzma压缩文件对象的最简单方法。
打开()
此函数将打开LZMA压缩文件并返回文件对象。该功能需要两个主要参数-文件名和模式。默认情况下,模式参数为“ rb”,但可以采用以下任何值binary mode - "r", "rb", "w", "wb", "x", "xb", "a" or "ab"
text mode - "rt", "wt", "xt", or "at"
压缩()
此函数使用LZMA算法压缩给定数据,并返回一个字节对象。该函数可以选择使用一个格式参数来决定容器的格式。可能的值为FORMAT_XZ(默认值)和FORMAT_ALONE。
解压缩()
此函数解压缩数据并返回未压缩的字节对象。
在以下示例中使用上述功能。将LZMA压缩数据写入文件>>> import lzma
>>> data = b"Welcome to nhooo"
>>> f = lzma.open("test.xz","wb")
>>>f.write(data)
>>>f.close()
将在