python解析BLF--Apple的学习笔记

一 ,前言

要分析can的blf文件,不是每个人都有能力的。为了便于其它人分析报文,我准备从blf解析出来值,然后搭配之前的结构体解析工具(python解析结构体小工具--Apple的学习笔记),就能实现了从blf来解析信号的功能了。
目的是为了让不懂can 报文分析的人也可以直接看到信号解析值。那么就不用依赖canoe工具,也不用依赖其它人了。最后就变成人人都有解析can报文的能力咯,这就是工具的魅力。

二,遇到问题

  1. 关于导入第三方工具作为源码的方法
    以前我自己做工具的时候,直接安装第三方库即可。但是发现要分享给别人的时候,需要把python源码也更新,依赖项太多。所以我现在都是直接导入第三方库作为我的源码。但是我不清楚方法,有时候能用有时候不能用只能安装库,今天我抽时间研究下,因为将来我只想选此方案。

答:网上找了下导入第三库作为源码主要是让python运行时候能找到路径即可。基于这个原理,只要把第三方库的文件包路径添加到sys路径下,那么python运行时候就会去扫描到。原来就是那么简单呢!

三,效果

import sys
sys.path.append('can')  # can文件夹和当前运行的py主程序在同一目录,否则可以用sys.path.append('./lib/can')

from can.io import BLFReader
import binascii

logfile = r"T08-1-05-01.blf"

canid = 0x52b
with BLFReader(logfile) as reader:
    for msg in reader:
        if msg.arbitration_id == canid:
           print(binascii.b2a_hex(msg.data))
D:\python32_374\python.exe D:/pytorchpro/pcan/pcan.py
b'2b00010000000000'
b'2b00010000000000'
b'2b00010000000000'
b'2b00010000000000'
b'2b00010000000000'
b'2b00010000000000'

四,小结

方法越多效率越高,这是我一直认同的观念。周末创造发明下小工具,还能提高将来的工作效率,何乐不为呢~

你可能感兴趣的:(python解析BLF--Apple的学习笔记)