процентная разница между двумя текстовыми файлами - PullRequest
14 голосов
/ 26 августа 2009

Я знаю, что могу использовать cmp, diff и т. Д. Для сравнения двух файлов, но мне нужна утилита, которая дает мне разницу в процентах между двумя файлами.

если такой утилиты нет, любой алгоритм тоже подойдет. Я читал о нечетком программировании, но не совсем понимаю.

Ответы [ 3 ]

32 голосов
/ 26 августа 2009

Вы можете использовать difflib.SequenceMatcher ratio method

Из документации:

Вернуть меру Сходство последовательностей как плавание в диапазон [0, 1].

Например:

from difflib import SequenceMatcher
text1 = open(file1).read()
text2 = open(file2).read()
m = SequenceMatcher(None, text1, text2)
m.ratio()
3 голосов
/ 26 августа 2009

Похоже, что в Linux есть утилита dwdiff, которая может отображать процентные различия с помощью флага "-s"

http://www.softpanorama.org/Utilities/diff_tools.shtml

1 голос
/ 19 ноября 2015

Beyond Compare имеет очень хороший экспорт статистики различий в файлах в csv. О различиях на уровне строк сообщается, поэтому неплохо сравнивать файлы исходного кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...