跳转到主要内容

使用间隙缓冲区进行存储的字节序列的类似物

项目描述

Build Status

这是一个Python bytearray 类似物,它使用间隙缓冲区作为底层存储。它是一种优化了局部连续插入和删除操作的数据结构。它是文本编辑器中常用的数据结构。

提供了一个名为 codedstring 的实用类,它提供了对 bytegapbuffer 的字符串视图,透明地编码和解码Unicode字符串。它提供了高效的常见情况索引。

安装

安装通过 pip 完成。要安装最新版本

$ pip install bytegapbuffer

要从git安装当前开发版本

$ pip install git+https://github.com/rjw57/bytegapbuffer

用法

bytegapbuffer 集合旨在表现得像 bytearray。例如

from bytegapbuffer import bytegapbuffer

a = bytegapbuffer(b'hello')
a.insert(3, 65)
a.insert(4, 66)
assert a == b'helABlo'

状态

该项目是我个人项目的一部分,因此只实现了满足我需求的基本序列、可变序列和 bytearray 接口。欢迎提交添加缺失功能的拉取请求。请也为该功能添加测试。

当前功能

  • 通过 [i][i:j][i:j:k] 样式的切片检索元素。

  • 通过 [i][i:j] 样式的切片删除元素。

  • 通过 [i][i:j] 样式的切片插入/替换元素。

  • 通过 insert() 方法插入元素。

  • 通过 len() 查询长度。

  • 通过 index()find() 方法进行子序列搜索。

  • 等式(和不等式)测试。

  • 遍历内容。

  • 高效的codedstring包装器,允许将bytegapbuffer用作文本编辑器中的底层存储。

以上所有内容应与bytearray对象的行为完全一致。(这在测试套件中已进行测试。)额外的非bytearray特性

  • 通过copy()方法进行深度复制。

测试套件

可以通过tox工具运行测试套件。Travis构建已设置为在最新发布的Python 2和Python 3版本上运行测试套件。

许可

版权(C)2015 Rich Wareham

此代码采用BSD样式的许可。有关详细信息,请参阅LICENSE文件。

项目详情


下载文件

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

源分布

bytegapbuffer-0.9.4.tar.gz (11.0 kB 查看哈希值)

上传时间: 源代码

由以下支持