хочется получить такой результат:
$ cat 1
10100001
10000011
10101100
$ cat 2
10000011
10101100
10111001
$ ./myprog.py 1 2
10000011
10101100
10111001
- изменённый символ может быть выделен как bold, подчёркивание или цветом.
вроде бы в difflib, используя ndiff можно получить что-то похожее - маркер на символ, который был изменён,
но в реальности не получается воспроизвести пример, получив схожий результат:
Код: Выделить всё
>>> import sys, os, difflib
>>> c1 = '10100001'
>>> c2 = '10000101'
>>> diff = difflib.ndiff(c1,c2)
>>> print ''.join(diff)
- 1- 0 1 0 0 0 0 1+ 0+ 1
>>> diff = difflib.ndiff(c1.splitlines(1),c2.splitlines(1))
>>> print ''.join(diff)
- 10100001? --
+ 10000101? ++
>>> d = difflib.Differ()
>>> result = list(d.compare(c1, c2))
>>> sys.stdout.writelines(result)
- 1- 0 1 0 0 0 0 1+ 0+ 1всё не то((((
PS: смотрел cmp, diff, wdiff, sdiff - нужного функционала не обнаружил