Мне нужна помощь с лучшим способом чтения в двоичных файлах, которые содержат события, которые мне нужно преобразовать для анализа. Эти файлы никогда не превышают 3 МБ, и компьютер под управлением Windows 10, на котором я работаю, имеет 64 ГБ памяти DDR4 с процессором 3,5 ГГц hexacore, поэтому ресурсы не являются проблемой.
Каждый из этих файлов содержит заголовокинформация в первой части файла, как правило, о первых 450 байтах. Затем остальная часть файла содержит события, каждое из которых начинается с «FF 00» для обозначения начала события.
Я хочу прочитать в файле и сохранить заголовок и каждое событие вотдельный элемент, а затем обработать после факта. События не имеют фиксированной длины, но всегда начинаются с «FF 00».
РЕДАКТИРОВАТЬ: Код Sudo будет следующим: Открыть двоичный файл для чтения. Прочитайте каждый байт до первого экземпляра «FF 00» и сохраните его. в качестве заголовка Сохраните следующие байты как отдельное «событие» от первого «FF 00» до следующего чтения «FF 00»:
РЕДАКТИРОВАТЬ 2: def open_file ():
global file_name
global file_content
file = askopenfile(mode='rb', filetypes=[('DAT Files', '*.dat')])
if file is not None:
file_content = file.read()
file_name = (str(file))[26:-2]
print("File Processed: " + file_name)
print("File processed is " + str(file_content.__len__()) + " bytes in size.")
print("END")
Затем я хочу декодировать каждое событие и генерировать отчет, который требует анализа переменных различной длины для каждого события.
Любая помощь очень важна, это для проекта по анализу исходящих данных. компьютер поезда, чтобы найти ошибки в его ходе.