python 处理Bus Hound 数据
来源:互联网 发布:java d 系统参数 编辑:程序博客网 时间:2024/06/07 07:30
工作中,经常要用到Bus Hound软件用来调试串口、USB等设备,监听PC端(window)跟设备通信。
如下图,是用Bus Hound监听到摸个设备的数据,可以清楚的看到某个设备发送到PC或者PC发送到设备的数据。
Bus Hound可以把监听到的数据保存为文本文件,如下图
如上图,开头的一些是说明,列举出了PC上存在的一些设备,然后对各个数据项进行描述,如Data,就是传输的数据,这就是是我们需要的数据。
有时候在测试过程中对默写命令进行测试,那就要要复制Bus hound监听到的数据,当命令少于16字节是,命令都在一行中,可以直接把全部复制出来,可是当命令大于16字节是,命令就不止一行,当命令越大,占用的行数也多,要把这命令复制出来就有点麻烦了,
有时候在测试过程中,要做个记录,也要把某些命令包截取出来。
我之前做过脑残的做法是先把非数据区删除,然后再把数据区中数据前后不要的数据删除,然后再组成完整的命令包;也想过直接把需要的数据一行一行得复制出来,这就需要在两个文本文件中进行,也怕出错。
突然想到,可以写个程序来处理, 用Python打开源文件,读取数据区,然后截取所要的数据,把数据保存到新的文件,代码如下,
import win32uitar_file="target.txt"start = 0end = 0dlg = win32ui.CreateFileDialog(1)dlg.SetOFNInitialDir('')dlg.DoModal()filename = dlg.GetPathName()try: source = open(filename,"r+")except : source.close() exit()while 1: str = source.readline() if len(str)==0: print "break" break if str.find("Device Phase Data") == 0: start = str.find("Data") end = str.find("Description") source.readline() breaktarget = ""while 1: str = source.readline() if len(str)==0: print "break" break temp = str[start:end] target = target +temp + "\n"try: tar = open(tar_file,"w") tar.write(target)except: tar.close()source.close()tar.close()exit()
处理前的文件,
处理后的文件,
说明
- 环境:win7 64位,python 2.7,
- 库依赖:win32ui(pywin32-220.win-amd64-py2.7.exe)
代码更新见我的github
0 0
- python 处理Bus Hound 数据
- bus hound
- bus hound截获的urb数据分析~~
- NXP USB数据分析(Bus Hound)
- USB数据分析(Bus Hound)
- NXP USB数据分析(Bus Hound)
- bus hound 使用指南
- bus Hound usb hid
- BUS HOUND调试错误代码
- Bus hound USTS
- Bus Hound 的使用方法
- usb 协议分析 -bus hound
- Bus Hound的简单介绍
- Bus Hound简介(2)
- Bus Hound 6.01 capture on Windows XP
- linux下类似Bus Hound的工具
- USB设备枚举(Bus Hound)
- USB协议中的建立事务 bus hound
- Eclipse使用及调试
- visual studio 2015 key vs2015密钥
- 一个iOS攻城狮的学习之路总结
- 我的博客标题
- R语言数据可视化之散点图
- python 处理Bus Hound 数据
- nodejs 异步I/O和事件驱动
- 微信支付Native扫码支付模式二之CodeIgniter集成篇
- 【.net深呼吸】非 Web 项目使用缓存
- python 正则表达式
- Tomcat7.0源码分析——生命周期管理
- JAVA使用JNI调用C++动态链接库
- APP server 使用httpclient调用第三方环信的server rest接口获取token
- 最大连续矩形面积(栈实现)