Генерируйте “нечеткое” различие двух файлов в Python с приблизительным сравнением плаваний

У меня есть проблема для сравнения двух файлов. В основном то, что я хочу сделать, является подобной UNIX разностью между двумя файлами, например:

Разность $-u правильный файл лево-файла

Однако мои два файла содержат плавания; и потому что эти файлы были сгенерированы на отличной архитектуре (но вычисления того же самого), плавающие значения не являются точно тем же (они могут отличаться, скажем, 1e-10). Но что я ищу 'diffing', файлы должны найти то, что я считаю существенными различиями (например, различием являются больше, чем 1e-4); при использовании разности команды UNIX я получаю почти все свои строки, содержащие плавающие значения, являющиеся отличающимся! Это - моя проблема: как я могу добраться, получающаяся разность как 'разность-u' обеспечивает, но с меньшим количеством ограничений относительно сравнения плаваний?

Я думал, что запишу сценарий Python, чтобы сделать это и узнал модуль difflib, который обеспечивает подобное разности сравнение. Но документация, которую я нашел, объясняет, как использовать ее как есть (через отдельный метод) и объясняет внутренние объекты, но я ничего не могу найти относительно того, как настроить объект difflib удовлетворить мои потребности (как перезапись только метода сравнения или такого)... Я предполагаю, что решение могло состоять в том, чтобы получить объединенное различие и проанализировать его 'вручную' для удаления моих 'ложных' различий, этим не изящно; я предпочел бы использовать уже существующую платформу.

Так, кто-либо знает, как настроить этот lib так, чтобы я мог сделать то, что я ищу? Или, по крайней мере, укажите на меня в правильном направлении... Если не в Python, возможно, сценарий оболочки мог к заданию?

Любая справка значительно ценилась бы! Заранее спасибо за Ваши ответы!

7
задан smci 8 October 2015 в 20:33
поделиться