1

我有一个大的 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 分钟。

有没有办法加快这个速度?最后,我想将每个信号存储在一个单独的列表中,所以列表理解不是一个选项。

4

0 回答 0