跳转到主要内容

一个用于生成操作delta(表示两个可比较项序列之间的差异)的实验性diff库。

项目描述

一个开源许可(MIT)库,用于执行生成delta(即操作序列),表示两个可比较标记序列之间的差异。

此库旨在使实验性差异检测策略更容易获得。目前有两种策略可用

delta.sequence_matcher.diff(a, b):

一个无耻的包装器,围绕 difflib.SequenceMatcher 使其在 delta 的结构中工作。

delta.segment_matcher.diff(a, b, segmenter=None):

一个通用的差异检测器,设计用于检测基于 Segmenter 的块移动和复制。

示例:
>>> from deltas import segment_matcher, text_split
>>>
>>> a = text_split.tokenize("This is some text.  This is some other text.")
>>> b = text_split.tokenize("This is some other text.  This is some text.")
>>> operations = segment_matcher.diff(a, b)
>>>
>>> for op in operations:
...     print(op.name, repr(''.join(a[op.a1:op.a2])),
...           repr(''.join(b[op.b1:op.b2])))
...
equal 'This is some other text.' 'This is some other text.'
insert ' ' '  '
equal 'This is some text.' 'This is some text.'
delete '  ' ''

项目详情


下载文件

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

源分布

deltas-0.7.0.tar.gz (21.5 kB 查看哈希值)

上传时间

构建分布

deltas-0.7.0-py2.py3-none-any.whl (36.1 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面