Pythoner
Фотография
✈️difflib особенно полезен для работы с текстами. Содержит функции для создания отчётов в нескольких распространённых форматах, в том числе в HTML.
➡️Класс Differ(), например, выводит различия в отдельных строках, сопровождая их префиксами.
➡️Класс SequenceMatcher() позволяет вычислить сходство между строками. Функция get_opcodes() возвращает список инструкций для приведения первой последовательности к виду второй.
➡️Пример:
import difflib
# Две строки для сравнения
string1 = "Привет, как дела?"
string2 = "Привет, как у тебя дела?"
# Используем SequenceMatcher для получения отличий
d = difflib.Differ()
diff = d.compare(string1.split(), string2.split())
# Вывод различий
print('\n'.join(diff))
⬆️Как это работает:
Мы используем difflib.Differ() для сравнения двух строк, разбивая их на слова.Метод compare возвращает итератор, который показывает различия между строками.
- Результат отображает изменения с символами:
- – если слова одинаковые,
- - – если слово присутствует только в первой строке,
- + – если слово присутствует только во второй строке.
🔎Таким образом, difflib полезен в ситуациях, когда нужно определить не только факт различия между двумя последовательностями, но и конкретные места, где эти различия возникают.
🐍Pythoner
24 · 2K ·