🛠️ToolsShed

Diff Checker

逐行比较两段文本并高亮显示差异。

差异检查器并排比较两块文本,并高亮显示被添加、删除或更改的确切行或字符。它使用与 Git 等版本控制系统相同的底层差异算法,使输出结果对开发人员来说立即感到熟悉。

将原始文本粘贴到左侧面板,将修改后的版本粘贴到右侧面板,然后点击比较。添加的行显示为绿色,删除的行显示为红色,未更改的行保持中性,让您即时获得每个差异的视觉摘要。

常见用例包括提交前审查代码更改、比较不同环境中的配置文件、检查文档修订以及验证代码生成器输出与预期结果。所有比较均在浏览器中进行,不上传任何数据。

常见问题

代码实现

import difflib

original = """line one
line two
line three
line four"""

modified = """line one
line TWO
line three
line five"""

# Unified diff (like git diff output)
diff = list(difflib.unified_diff(
    original.splitlines(keepends=True),
    modified.splitlines(keepends=True),
    fromfile="original.txt",
    tofile="modified.txt",
    n=2,  # context lines
))
print("".join(diff))

# Sequence matcher — similarity ratio
matcher = difflib.SequenceMatcher(None, original, modified)
print(f"Similarity: {matcher.ratio():.1%}")  # Similarity: 81.8%

# HTML diff for visual output
html_diff = difflib.HtmlDiff()
html = html_diff.make_file(
    original.splitlines(),
    modified.splitlines(),
    fromdesc="Original",
    todesc="Modified",
)

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.