Я пытаюсь создать программу для создания CRC16 из двоичного файла. Мне нужно прочитать файл по одному байту за раз и вставить этот один байт в мою функцию CRC, прежде чем перейти к следующему байту.
Я пробовал следующий код:
crc16 = crcmod.predefined.Crc('crc-ccitt-false')
with open(r"C:\Users\mabr\Desktop\TEST\fileFromEEPROM.txt") as f:
for line in f:
line = line.strip()
crc16.update(line) #the CRC function
print crc16.hexdigest() #prints the CRC value
Проблема с приведенным выше кодом заключается в том, что он не читает файл целиком. Файл размером 52 КБ, и с реализацией счетчика я увидел, что вышеуказанный цикл выполнялся только 4 раза. Я не уверен почему. Я ищу способ читать ровно один байт за раз в переменную, чтобы я мог использовать crc16.update(<variableName>)
для нее.