跳转到主要内容

patiencediff算法的Python实现

项目描述

本包包含patiencediff算法的实现,如Bram Cohen在此处首次描述。

与Python的difflib类似,此模块提供了一个便利的unified_diff函数,用于生成文本文件的统一差异,以及一个SequenceMatcher,可用于任意列表。

PatienceDiff提供了性能、人性化的输出和实现简单性之间的良好平衡。

该包中的代码是从Bazaar代码库中提取出来的。

该包包含两种实现

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

  • A C实现(_patiencediff_c.c);这种实现更快,但需要C编译器,且不易读

使用方法

要从命令行调用patiencediff

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

项目详情


下载文件

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

源分布

patiencediff-0.2.15.tar.gz (27.5 kB 查看哈希值)

上传时间

构建分布

patiencediff-0.2.15-pp310-pypy310_pp73-win_amd64.whl (33.2 kB 查看哈希值)

上传时间 PyPy Windows x86-64

patiencediff-0.2.15-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (32.5 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

patiencediff-0.2.15-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (32.9 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

patiencediff-0.2.15-pp310-pypy310_pp73-macosx_11_0_arm64.whl (30.2 kB 查看哈希值)

上传时间 PyPy macOS 11.0+ ARM64

patiencediff-0.2.15-pp39-pypy39_pp73-win_amd64.whl (33.2 kB 查看哈希值)

上传时间 PyPy Windows x86-64

patiencediff-0.2.15-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (32.5 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

patiencediff-0.2.15-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (32.9 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

patiencediff-0.2.15-pp39-pypy39_pp73-macosx_11_0_arm64.whl (30.2 kB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

patiencediff-0.2.15-pp38-pypy38_pp73-win_amd64.whl (33.2 kB 查看哈希值)

上传于 PyPy Windows x86-64

patiencediff-0.2.15-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (32.4 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

patiencediff-0.2.15-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (32.8 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

patiencediff-0.2.15-pp38-pypy38_pp73-macosx_11_0_arm64.whl (30.2 kB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

patiencediff-0.2.15-cp312-cp312-win_amd64.whl (33.3 kB 查看哈希值)

上传于 CPython 3.12 Windows x86-64

patiencediff-0.2.15-cp312-cp312-win32.whl (31.4 kB 查看哈希值)

上传于 CPython 3.12 Windows x86

patiencediff-0.2.15-cp312-cp312-musllinux_1_1_x86_64.whl (61.4 kB 查看哈希值)

上传于 CPython 3.12 musllinux: musl 1.1+ x86-64

patiencediff-0.2.15-cp312-cp312-musllinux_1_1_i686.whl (60.4 kB 查看哈希值)

上传于 CPython 3.12 musllinux: musl 1.1+ i686

patiencediff-0.2.15-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (56.4 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

patiencediff-0.2.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (55.1 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

patiencediff-0.2.15-cp311-cp311-macosx_11_0_arm64.whl (30.5 kB 查看哈希值)

上传于 CPython 3.12 macOS 11.0+ ARM64

patiencediff-0.2.15-cp311-cp311-win_amd64.whl (33.2 kB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

patiencediff-0.2.15-cp311-cp311-win32.whl (31.5 kB 查看哈希值)

上传于 CPython 3.11 Windows x86

patiencediff-0.2.15-cp311-cp311-musllinux_1_1_x86_64.whl (60.8 kB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.1+ x86-64

patiencediff-0.2.15-cp311-cp311-musllinux_1_1_i686.whl (59.8 kB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.1+ i686

patiencediff-0.2.15-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (55.2 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

patiencediff-0.2.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (54.1 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

patiencediff-0.2.15-cp311-cp311-macosx_11_0_arm64.whl (30.4 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

patiencediff-0.2.15-cp310-cp310-win_amd64.whl (33.2 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

patiencediff-0.2.15-cp310-cp310-win32.whl (31.5 kB 查看哈希值)

上传于 CPython 3.10 Windows x86

patiencediff-0.2.15-cp310-cp310-musllinux_1_1_x86_64.whl (59.9 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ x86-64

patiencediff-0.2.15-cp310-cp310-musllinux_1_1_i686.whl (58.8 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ i686

patiencediff-0.2.15-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (54.8 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

patiencediff-0.2.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (53.7 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

patiencediff-0.2.15-cp310-cp310-macosx_11_0_arm64.whl (30.4 kB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

patiencediff-0.2.15-cp39-cp39-win_amd64.whl (33.2 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

patiencediff-0.2.15-cp39-cp39-win32.whl (31.5 kB 查看哈希)

上传于 CPython 3.9 Windows x86

patiencediff-0.2.15-cp39-cp39-musllinux_1_1_x86_64.whl (59.6 kB 查看哈希)

上传于 CPython 3.9 musllinux: musl 1.1+ x86-64

patiencediff-0.2.15-cp39-cp39-musllinux_1_1_i686.whl (58.6 kB 查看哈希)

上传于 CPython 3.9 musllinux: musl 1.1+ i686

patiencediff-0.2.15-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (54.6 kB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

patiencediff-0.2.15-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (53.5 kB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

patiencediff-0.2.15-cp39-cp39-macosx_11_0_arm64.whl (30.4 kB 查看哈希)

上传于 CPython 3.9 macOS 11.0+ ARM64

patiencediff-0.2.15-cp38-cp38-win_amd64.whl (33.2 kB 查看哈希)

上传于 CPython 3.8 Windows x86-64

patiencediff-0.2.15-cp38-cp38-win32.whl (31.5 kB 查看哈希)

上传于 CPython 3.8 Windows x86

patiencediff-0.2.15-cp38-cp38-musllinux_1_1_x86_64.whl (60.4 kB 查看哈希)

上传于 CPython 3.8 musllinux: musl 1.1+ x86-64

patiencediff-0.2.15-cp38-cp38-musllinux_1_1_i686.whl (59.3 kB 查看哈希)

上传于 CPython 3.8 musllinux: musl 1.1+ i686

patiencediff-0.2.15-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (55.8 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

patiencediff-0.2.15-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (54.6 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

patiencediff-0.2.15-cp38-cp38-macosx_11_0_arm64.whl (30.4 kB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

由以下支持