Ну к примеру ,открываю 2 файла в WinHex . В одном файле код F8 A1 F6 ,а в другом F5 A2 F6. Программка должна сравнить и как результат вывести F6.
Пытаюсь создать саму программку и пробно вывести значения кода,но выводит какую-то билеберду:
f = open(r"1.png", "rb") f.readline(2) print (f.readline(2))
Даже так я не могу сделать то,что хочу - не знаю как. Т.е если в файле 1.png первые 2 символа кода F8, должно и вывести F8. Но выводит текст.
Далее циклом, перебирать код (а так как он из 2 символов,то ,как я понял ,перебирать 2 символа с шагом “1”) и выводить разницу
Раньше обращался с подобным вопросом, получил ответ в виде
file1 = r"d:\\22.jpg" file2 = r"d:\\11.jpg" with open(file1, 'br') as of1, open(file2, 'br') as of2: l1 = of1.read() l2 = of2.read() f1_f2 = set(enumerate(l1)) - set(enumerate(l2)) f2_f1 = set(enumerate(l2)) - set(enumerate(l1)) for offset, char in sorted(f1_f2, key=lambda x: x[0]): print("offset: {}\tchar: {:X}".format(offset, char)) print() for offset, char in sorted(f2_f1, key=lambda x: x[0]): print("offset: {}\tchar: {:X}".format(offset, char))
Но проблема в том,что эта программка,если находит различие, выводит все ,что следует после различия,даже если код дальше одинаков.
А мне нужно,чтобы выводило каждое различие
В общем, мне нужно,чтобы файлы сравнивались и в новый файл копировало только их различие,а не как в приведенном коде, весь код после различия