2009-11-15 2 views
4

Я пытаюсь использовать bsdiff (или любую бинарную реализацию diff, которую вы придумали) для вычисления и применения diff к случайным двоичным данным. Я хотел бы использовать его для данных из базы данных, поэтому было бы лучше не записывать их на диск и передавать их на bsdiff.exe.Python binary diff

Есть ли какая-либо библиотека-обтекатель или путь в python для этого?

ответ

5

С bsdiff сайта:

Он также был сделан в Python extension module, и есть порт для Windows доступна.

После ссылки вы переходите на страницу модуля.

+0

Я как-то видел ссылку Windows, но не эту ... Нет версии для 2.6, но ее не может быть так сложно построить, верно? – sharvey

+0

Наверное, это не сложно. Определенно стоит попробовать. – quark

+0

python setup.py install просто does'nt работает, дает мне «не удалось с статусом выхода 1107». – sharvey

2

Вы можете использовать difflib, который является частью стандартной библиотеки Python. Вы можете отправить любые произвольные данные в difflib.SequenceMatcher.

+0

difflib, похоже, сделан для текстовых файлов, возвращая разницу между строками. – sharvey

+0

не соответствует действительности. Вы можете отправить любые произвольные данные в SequenceMatcher. – fserb

+1

difflib ужасно медленный для больших (~ 4 МБ) блоков байтов. – thirtythreeforty

1

Также может быть полезен класс SequenceMatcher (из стандартной библиотеки Python).

Ознакомьтесь с другим содержимым модуля difflib.