针对Python CAN性能优化BLF阅读器

时间:2019-06-17 11:22:27

标签: python performance can-bus python-can

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

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

0 个答案:

没有答案