0
下面的實施例比較採用difflib.ndiff()
difflib - 防止更換整個線的
from difflib import unified_diff, ndiff
print("".join(ndiff(
["aba\n"],
["abbba\n"]
)))
print("".join(ndiff(
["aba\n"],
["abbbba\n"]
)))
輸出:
- aba
+ abbba
? ++
- aba
+ abbbba
第一指出其中的字符必須加入,而第二個基本上放棄並取代了整條線。
如何讓第二個打印出 的
相當於「你需要插入3「B的[這裏]。」?
預期用於第二打印輸出:
- aba
+ abbbba
? +++
非常感謝您指向'_fancy_replace',我特別喜歡通過添加空間並再次刪除它們來僞造配給的想法。 (我只是直接覆蓋'0.75',但是這可能會在更長的字符串時出現問題) –
好的空間想法很麻煩,多行我正要創建difflib.py的本地副本 –
我得到了它的工作。彩色difflib終於做了它應該做的。看到這裏如果感興趣:https://github.com/Farbdose/ColoredDifflib –