У меня есть проблема для сравнения двух файлов. В общем, что я хочу сделать, это UNIX-подобных различий между двумя файлами, например:Создать «нечеткое» различие двух файлов в Python с приблизительным сравнением поплавков
$ Diff -u левый файл правой кнопкой файл
Однако мои два файла содержат поплавки; и поскольку эти файлы были сгенерированы на разных архитектурах (но вычисляя одни и те же вещи), плавающие значения не совсем одинаковы (они могут отличаться, например, от 1e-10). Но то, что я пытаюсь «отличить» файлы, - это найти то, что я считаю существенными различиями (например, разница больше 1е-4); при использовании команды diff UNIX, я получаю почти все мои строки, содержащие значения плавающей переменной! Это моя проблема: как я могу получить полученный diff, например, diff -u, но с меньшими ограничениями относительно сравнения поплавков?
Мне показалось, что я написал скрипт Python для этого и узнал модуль difflib, который обеспечивает сравнение сравнения. Но документация, которую я нашел, объясняет, как использовать ее как есть (с помощью одного метода) и объясняет внутренние объекты, но я не могу найти ничего о том, как настроить объект difflib для удовлетворения моих потребностей (например, переписывать только метод сравнения или такие) ... Я думаю, что решение может состоять в том, чтобы извлечь унифицированную разницу и проанализировать ее вручную, чтобы удалить мои «ложные» различия, поскольку это не изящно; Я предпочел бы использовать уже существующую структуру.
Итак, кто-нибудь знает, как настроить эту библиотеку, чтобы я мог делать то, что искал? Или, по крайней мере, указать мне в правильном направлении ... Если бы не Python, возможно, сценарий оболочки мог бы работать?
Любая помощь была бы принята с благодарностью! Заранее благодарю за ваши ответы!
Может быть, вы также как: [модули Хороший Python для нечеткого сравнения строк ?] (http://stackoverflow.com/questions/682367/good-python-modules-for-fuzzy-string-comparison) – miku
более простой альтернативой является предварительная обработка файлов и форматирование поплавков до нужной точности –
Пожалуйста, разместите пару соответствующих строк из входных файлов с примерами? – smci