我有一个大的 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 MB),这最多需要 5 分钟。
有没有办法加快这个速度?最后,我想将每个信号存储在一个单独的列表中,所以列表理解不是一个选项。