Сравнение и замена двоичных файлов

shimek

Новичок
Пользователь
Сен 30, 2020
2
0
1
Уважаемые форумчане прошу помощи. У меня возникла проблема, в которой мне нужно сравнить два файла и заменить разные значения числом, скажем 23. Я написал небольшой код, который выводит мне разные значения в двух файлах, но я просто не могу найти информацию о том, как заменять только разные биты в двоичных файлах. Спасибо
Python:
from PySide2.QtWidgets import QApplication
import struct
 
file1 = r"C:\1\\in1.bin" #read file 1
file2 = r"C:\1\\in2.bin" #read file 2
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))
 
if __name__ == "__main__":
    app = QApplication([])
    # ...
    sys.exit(app.exec_())```
 

Форум IT Специалистов