Сообщить об ошибке.

Функция diff_bytes() модуля difflib в Python

Сравнить байтовые объекты в несовместимой кодировке

Синтаксис:

import difflib

difflib.diff_bytes(dfunc, a, b, fromfile=b'', \
                     tofile=b'', fromfiledate=b'', \
                     tofiledate=b'', n=3, lineterm=b'\n')

Параметры:

Возвращаемое значение:

Описание:

Функция diff_bytes() модуля difflib сравнивает списки байтовых объектов a и b, используя dfunc. Выдает последовательность дельта-строк байтов в формате, возвращаемом dfunc. Функция dfunc должна быть вызываемым, это как правило, либо unified_diff() или context_diff().

Позволяет сравнивать данные с неизвестной или несогласованной кодировкой. Все входные данные, кроме n, должны быть байтовыми объектами, а не строками str. Работает без потерь, преобразовывая все входные данные (кроме параметра n) в str, вызывая dfunc(a, b, fromfile, tofile, fromfiledate, tofiledate, n, lineterm). Выходные данные func затем преобразуются обратно в байты, так что дельта-строки, которые вы получаете, имеют те же неизвестные/несогласованные кодировки, что и a, b.

Примеры использования:

>>> import difflib
>>> s1 = [b'bacon', b'eggs', b'ham', b'guido\n']
>>> s2 = [b'python', b'eggy', b'hamster', b'guido']
>>> diff = difflib.diff_bytes(difflib.unified_diff, s1, s2, fromfile=b'before.py', tofile=b'after.py')
>>> for line in diff:
...     print(line)
... 
# b'--- before.py\n'
# b'+++ after.py\n'
# b'@@ -1,4 +1,4 @@\n'
# b'-bacon'
# b'-eggs'
# b'-ham'
# b'+python'
# b'+eggy'
# b'+hamster'
# b' guido'