# Как на Python прочитать hex файлы и сложить значения?

Аноним Автор

Задача: дано два текстовых файла с hex-значениями в виде 0x23 и требуется прочитать их и сложить.


Решение:


with open('one.txt', 'r') as f: file1 = f.read().split() with open('two.txt', 'r') as f: file2 = f.read().split() sum_list = [int(x, 16) + int(y, 16) for x, y in zip(file1, file2)] for elem in sum_list: print(hex(elem), end=" ")


Основная турдность заключается в том, что данные из файла читаются как строки, в то время как это шестнадцатеричные значения. Как привести строку hex формата в число hex формата?


Скажу сразу, что конвертировать строку в hex нельзя любыми средствами, поскольку метод hex() работает только с числами. Если прочитать строку как бирное число, то при конвертации в hex он перекодирует каждый символ двумя символами и получится не то, что мы искали.


Выход - прочитать два числа как int в hex системе счисления (по основанию 16). Затем сложить вместе два списка и уже потом привести каждый элемент к hex виду.