重新打包Google的Diff Match和Patch库。提供强大的算法,用于执行同步纯文本所需的操作。
项目描述
dmp
Google的Diff Match and Patch库,为现代Python打包。
安装
dmp支持Python 2.7或Python 3.4或更高版本。您可以从PyPI安装它
python -m pip install dmp
用法
为了与上游diff-match-patch共存(并减少样板代码),它使正常的API可用,导入为dmp
而不是diff_match_patch
。其余的API保持不变,尽管未来更新可能添加辅助函数。
生成两个文本之间的补丁集(类似于统一差异)
from dmp import diff_match_patch
dmp = diff_match_patch()
patches = dmp.patch_make(text1, text2)
diff = dmp.patch_toText(patches)
然后可以使用以下方式将补丁集应用到文本上
from dmp import diff_match_patch
dmp = diff_match_patch()
patches = dmp.patch_fromText(diff)
new_text, _ = dmp.patch_apply(patches, text)
原始README
Diff Match and Patch库提供强大的算法,用于执行同步纯文本所需的操作。
- 差异
- 比较两个纯文本块,并高效地返回一个差异列表。
- 差异演示
- 匹配
- 给定一个搜索字符串,在纯文本块中找到其最佳模糊匹配。既考虑准确性也考虑位置。
- 匹配演示
- 补丁
- 将一系列补丁应用到纯文本上。即使底层文本不匹配,也尽力应用补丁。
- 补丁演示
该库最初于2006年构建,用于支持Google Docs,现在它可用在C++、C#、Dart、Java、JavaScript、Lua、Objective C和Python中。
参考
语言
尽管Diff Match Patch的每种语言端口都使用相同的API,但也有一些特定于语言的内容。
一个标准化的速度测试追踪了每种语言中差异的相对性能。
算法
该库实现了被认为是最优秀的通用差异算法Myer的差异算法。差异算法周围有一层预差异加速和后差异清理,提高了性能和输出质量。
项目详情
关闭
dmp-2018.11.6.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e1c6d7be4f7b87ddc92ce98dd11429f0aa5d778dc26a7255078a36e3647a2419 |
|
MD5 | 0a5bc3cb9e1bcc8a816ae469f72997f6 |
|
BLAKE2b-256 | da122e811d224adb0c1ecdd3f1fae6deb938bb555c165033ccbbca3daebbf5bc |