т.е., например, так корректно вытаскивать? d = difflib.unified_diff(str_1, str_2) for _ in d: print(_[1:]) if _[0] == '+' or _[0] == '-' else ''
Мне нужен пример того, что ты хочешь, ибо я ничего не понял
str1 = 'text1' str2 = 'text2' d = difflib.unified_diff(str1, str2) for _ in d: print(_) Вывод будт таким: --- +++ @@ -2,4 +2,4 @@ e x t -1 +2 Но мне только сам символ достать надо который есть во 2 строке, способом выше это делать корректно?
А если там два символа отличаются?
то выведет 2 плюса и рядом символы
str1 = "текст" str2 = "мой текст." Что должно вывести?
А точка в конце?
Он не агрессивный
список тогда ['м', 'о', '1', ' ', '.'] т.е. вот элементы в списке корркетно так достать?
import difflib as df str1 = "текст" str2 = "мой текст." d = df.Differ() diff = d.compare(str1, str2) print([x.lstrip("+ ") for x in diff if x.startswith("+")])
ну да, т.е. построчно парсим вывод этого генератора, я просто думал мб метод какой есть Спасибо!
https://docs.python.org/3/library/difflib.html#difflib.Differ
Обсуждают сегодня