python的zstd绑定
zstd的Python项目详细描述
简单的python绑定到yann collet zstd压缩库
- zstd,简称zstandard,是一种新的无损压缩算法,
- 它提供了良好的压缩比和速度,满足您的标准压缩需求。 “标准”翻译成日常生活中既不追求最高比率 (LZMA和ZPAQ覆盖)或极限速度(LZ4覆盖)。
它作为bsd许可证包提供,托管在GitHub。
警告!!!
如果您设置了1.0.0.99.1版本-请手动删除以进行更新。 PIP匹配的版本字符串不是数字元组。
1.0.0.99.1之前版本生成的结果与原始zstd不兼容 无论如何。它生成自定义头,zstd python模块可以只读。
从1.0.0.99.1版本开始,它使用标准的zstd输出,没有修改。
为了防止数据丢失,现在有两个函数:`compress_old`和`decompress_old`。 它们的工作原理与1.0.0.99.1之前的旧版本相同。
从1.1.4版本模块开始,默认情况下不使用它们。
从1.3.4版本开始,这些函数已弃用,并将在以后的版本中删除。
免责声明
这些python绑定保持简单和简洁。
不计划支持词典。
链接
- z标准:https://github.com/facebook/zstd
- 更多功能齐全且与gregory szorc的zstandard python绑定兼容:https://pypi.python.org/pypi/zstandard
从源构建
>>> $ git clone https://github.com/sergey-dryabzhinsky/python-zstd >>> $ git submodule update --init >>> $ apt-get install python-dev python3-dev python-setuptools python3-setuptools >>> $ python setup.py build_ext clean >>> $ python3 setup.py build_ext clean
注意:默认情况下禁用传统格式支持。 要使用zstd旧版本进行构建,请支持-pass--legacy选项到setup.py脚本:
>>> $ python setup.py build_ext --legacy clean
注意:默认情况下禁用PYZSTD旧格式支持。 要使用python zstd旧式格式支持(1.1.2之前的版本)进行构建,请将--pyzstd-legacy选项传递给setup.py脚本:
>>> $ python setup.py build_ext --pyzstd-legacy clean
如果您想用LISZSTD的现有分布构建,只需添加^ {TT5}$选项。 但要小心!在这种情况下,传统格式支持是未知的。 如果您的版本不等于python zstd,那么测试可能无法通过。
>>> $ python setup.py build_ext --external clean
如果到头文件zstd.h和库的路径不常见-请使用公共build参数: –库–包括目录–库目录。
>>> $ python setup.py build_ext --external --include-dirs /opt/zstd/usr/include --libraries zstd --library-dirs /opt/zstd/lib clean
从pypi安装
>>> # for Python 2.6+ >>> $ pip install zstd >>> # or for Python 3.2+ >>> $ pip3 install zstd
使用
模块具有简单的api:
>>> import zstd >>> dir(zstd) ['Error', 'ZSTD_compress', 'ZSTD_uncompress', 'ZSTD_version', 'ZSTD_version_number', '__doc__', '__file__', '__name__', '__package__', 'compress', 'decompress', 'dumps', 'loads', 'uncompress', 'version'] >>> zstd.version() '1.3.8.0' >>> zstd.ZSTD_version() '1.3.8' >>> zstd.ZSTD_version_number() 10308 >>> data = "123456qwert" >>> cdata = zstd.compress(data, 1) >>> data == zstd.decompress(cdata) True
注意:这些函数是别名:
- 转储-压缩
- 加载,解压缩-解压缩