Skip to main content

耐心diff算法的Python实现

项目描述

这个包包含了耐心diff算法的实现, 首先由 Bram Cohen 描述。

与 Python 的difflib一样,该模块提供了一个方便的Unified_diff 函数来生成文本文件的统​​一差异,以及一个可以在任意列表上使用的 SequenceMatcher。

Patiencediff 在性能、对人类的良好输出和实现简单性之间提供了良好的平衡。

这个包中的代码是从Bazaar 代码库中提取的。

该软件包带有两个实现:

  • 一个 Python 实现(_patiencediff_py.py);这个实现只需要一个 Python 解释器,并且是两者中更易读的版本

  • AC 实施实施(_patiencediff_c.c);此实现更快,但需要 C 编译器且可读性较差

用法

从命令行调用 Patientdiff:

python -m patiencediff file_a file_b

或来自 Python:

>>> import patiencediff
>>> print ''.join(patiencediff.unified_diff(
...      ['a\n', 'b\n', 'b\n', 'c\n'],
...      ['a\n', 'c\n', 'b\n']))
---
+++
@@ -1,4 +1,3 @@
 a
+c
 b
-b
-c

下载文件

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

源分布

耐心diff-0.2.3.tar.gz (28.9 kB 查看哈希

已上传 source

内置发行版