У меня есть два двоичных файла. Они выглядят примерно так, но данные более случайна:Diffing Binary Files В Python
Файл A:
FF FF FF FF 00 00 00 00 FF FF 44 43 42 41 FF FF ...
Файл B:
41 42 43 44 00 00 00 00 44 43 42 41 40 39 38 37 ...
То, что я хотел бы, чтобы назвать что-то вроде:
>>> someDiffLib.diff(file_a_data, file_b_data)
И получить что-то вроде:
[Match(pos=4, length=4)]
Указывает, что в обоих файлах байты в позиции 4 одинаковы для 4 байтов. Последовательность 44 43 42 41
не будет соответствовать, потому что они не находятся в одинаковых положениях в каждом файле.
Есть ли библиотека, которая будет делать разницу для меня? Или я должен просто написать циклы для сравнения?
http://docs.python.org/2/library/difflib.html - первый результат в Google для "дифф в питон" – Andrey
возможно дубликат [разницу между двумя строками в Python/PHP] (HTTP : //stackoverflow.com/questions/1209800/difference-between-two-strings-in-python-php) – Andrey
@ Андрей спасибо, я пробовал это, но похоже, что 'get_matching_blocks()' не проверяет, находятся в одном месте в каждом файле, только что последовательность существует в каждом файле. В противном случае, да, это в значительной степени то, что я хочу. – omghai2u