python的zstd绑定

zstd的Python项目详细描述


https://travis-ci.org/sergey-dryabzhinsky/python-zstd.svg?branch=master

简单的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绑定保持简单和简洁。

不计划支持词典。

从源构建

>>> $ 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

注意:这些函数是别名:

  • 转储-压缩
  • 加载,解压缩-解压缩

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
具有x86javapath的x64机器上x86java上的java JNI未满足链接错误   java将Pixmap的一部分上传到GPU   图像Java位图RLE8格式   java Android studio谷歌广告崩溃应用程序   java如何创建包含未知数量对象的变量?   Java计算给定int数组的所有可能组合   java JDBC classnotfound异常   httpclient中的java将HttpEntity转换为字符串的最优雅/正确的方法是什么?   如何从Java程序运行nano?   java在安卓中调用自定义类/方法   调用方法和JOptionPane后,允许代码继续执行所需的java计时器或其他想法   关于侦听器的向量Java并发问题   线程池执行器Java线程池   java配置DTO上的Swagger javax验证约束   Java中用于按钮功能的swing操作命令   ServletOutputStream中的java设置状态代码   java打印输入数组的平均值