使用间隙缓冲区进行存储的字节序列的类似物
项目描述
这是一个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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 54889a4e1eb0bf17dacee894a970957fb19e3942c9ac41d3f4840e78eca527da |
|
MD5 | 26b849cbd586a17655ac38e082c3fc38 |
|
BLAKE2b-256 | 87c8e5b6adb502f2cc82d119de09fbae4d13f773e9ad1a166832ee76cef880bb |