为Python canperforman优化BLFreader

2024-04-23 11:28:45 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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


Tags: 文件log信息列表dbloadmsg解码