У меня есть большой blf-файл blf_file.blf
и связанный с ним dbc-файл dbc_file.dbc
.Мне нужно прочитать и расшифровать все сообщения и сохранить их в списке.Для этого я использую библиотеку python-can :
decoded_mess = []
db = cantools.db.load_file('dbc_file.dbc')
with can.BLFReader('blf_file.blf') as can_log:
for msg in can_log:
decoded_mess.append(
db.decode_message(msg.arbitration_id, msg.data)
)
Однако для моих blf-файлов (> 100 МБ) это занимает до 5 минут.
Есть ли способ ускорить это?В конце я хочу сохранить каждый сигнал в отдельном списке, так что понимание списка не вариант.