菜鸟笔记
提升您的技术认知

使用Python快速解包阿里云snappy文件

前言

阿里云OSS使用了snappy压缩算法保存历史文件,在实际运维工作中偶尔需要处理Snappy压缩包。

一、Snappy是什么?

Snappy是一个快速压缩算法,普遍使用在大型数据文件的快速流式压缩中。Snappy是一个C++的库,但提供了涵盖了各种主流语言的版本。

二、使用步骤

1.引入库

import snappy

2.读入数据并解包

compressed = open('/your/file/path/target_file.snappy','rb').read()
final = snappy.uncompress(compressed).decode(encoding='utf-8',errors="ignore")

3.写入解包后的文件

filename = "/your/output/path/decompressed.txt"
FILE = open(filename,"w")
FILE.writelines(final)
FILE.close()

总结

日常运维中使用python来解包snappy文件是相对最为轻量级也最为快速的方式,同时它的可扩展性也较好,如需批量或者自动化进行解包工作,python脚本也可轻易实现。