Сравнение текстов

Сравнивайте два текста и выделяйте различия построчно.

Инструмент сравнения текста сопоставляет два блока текста бок о бок и выделяет точные строки или символы, которые были добавлены, удалены или изменены. Он использует тот же базовый алгоритм diff, что и системы контроля версий, такие как 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.