Чтение двоичного файла для генерации отчета - PullRequest
0 голосов
/ 07 ноября 2019

Мне нужна помощь с лучшим способом чтения в двоичных файлах, которые содержат события, которые мне нужно преобразовать для анализа. Эти файлы никогда не превышают 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")

Затем я хочу декодировать каждое событие и генерировать отчет, который требует анализа переменных различной длины для каждого события.

Любая помощь очень важна, это для проекта по анализу исходящих данных. компьютер поезда, чтобы найти ошибки в его ходе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...