跳转到主要内容

基于CFFI的LZF流压缩Python绑定

项目描述

https://travis-ci.org/lordmauve/lzf.svg?branch=master

lzf 允许读取和写入使用LZF压缩格式压缩的文件。

以下是一些列出的LibLZF功能

  • 非常快的压缩速度。

  • 平庸的压缩比率 - 对于典型二进制数据,通常可以期望大约40-50%的压缩。

  • 易于使用(只有两个函数,没有附加状态)。

免费使用(BSD类型许可证)

API

lzf.open(file, mode='r', encoding=None, errors=None)

打开用于读取或写入的LZF流。

file可以是磁盘文件路径,或者是对读取或写入打开的文件对象(传递给mode的内容)。

mode必须是rw,以指示读取或写入,可选地带有bt以指示二进制或文本模式IO。如果模式是文本(默认值),则还接受U以打开通用换行模式。

encodingerrors与内置的open()函数相同。

请注意,lzf.open()采用Python 3的文本IO模型,即使在Python 2上也是如此。除非mode包含'b',否则返回的文件对象将读取或写入Unicode字符串。

示例

打开磁盘上的LZF压缩文本文件并逐行打印

import lzf

with lzf.open('/path/to/file.txt.lzf') as f:
    for line in f:
        print(line)

使用LZF压缩一些二进制数据

import lzf

with lzf.open('/path/to/file.lzf', 'wb') as f:
    f.write(b'hello world')

从URL读取LZF压缩的CBOR结构

import lzf
import cbor2
from urllib.request import urlopen  # Use urllib2 in Python 2

SOME_URL = 'http://example.com/data.cbor.lzf'

with lzf.open(urlopen(SOME_URL), 'rb') as f:
    print(cbor2.load(f))

(如果您想尝试这个,则需要安装cbor2。)

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分布

lzf-0.1.tar.gz (28.4 kB 查看哈希值)

上传时间 源代码

由以下支持