Python行对齐工具difflib

2023-11-07  本文已影响0人  xieyan0811

1 用途

1.1 功能

对比两个字符串数组之间的差异,以第一个参数为基准,与第二个参数比较。

1.2 使用场景

1.3 使用体验

实现的功能类似于 Linux 中的 diff 命令;内容少看不出来好,内容一多,效果明显。这功能手写得疯了。

2 使用方法

2.1 示例

import difflib

def compare_and_align(text1, text2):
    # 创建 Differ 对象
    d = difflib.Differ()

    # 使用 Differ 对象比较文本
    for x in d.compare(text1, text2):
        print(x)
        print('----')

# 两个文本示例
text1 = ["This is a sample text for alignment.","a","666","xieyan",'3397']
text2 = ["Here is a sample text for aligning.",'667','xieyan','3397']

# 比较并显示对齐结果
alignment_result = compare_and_align(text1, text2)

2.2 返回值

以空格开头的行表示两个文本相同,以 - 开头的行表示在第一个文本中的内容,以 + 开头的行表示在第二个文本中的内容。

2.3 扩展:difflibparser

开源项目 difflibparser 解析了 difflib 的结果,并以结构格式返回。

https://github.com/yebrahim/difflibparser

2.4 注意事项

上一篇 下一篇

猜你喜欢

热点阅读