python 处理Bus Hound 数据
工作中,经常要用到Bus Hound软件用来调试串口、USB等设备,监听PC端(window)跟设备通信。
如下图,是用Bus Hound监听到摸个设备的数据,可以清楚的看到某个设备发送到PC或者PC发送到设备的数据。
Bus Hound可以把监听到的数据保存为文本文件,如下图
如上图,开头的一些是说明,列举出了PC上存在的一些设备,然后对各个数据项进行描述,如Data,就是传输的数据,这就是是我们需要的数据。
有时候在测试过程中对默写命令进行测试,那就要要复制Bus hound监听到的数据,当命令少于16字节是,命令都在一行中,可以直接把全部复制出来,可是当命令大于16字节是,命令就不止一行,当命令越大,占用的行数也多,要把这命令复制出来就有点麻烦了,
有时候在测试过程中,要做个记录,也要把某些命令包截取出来。
我之前做过脑残的做法是先把非数据区删除,然后再把数据区中数据前后不要的数据删除,然后再组成完整的命令包;也想过直接把需要的数据一行一行得复制出来,这就需要在两个文本文件中进行,也怕出错。
突然想到,可以写个程序来处理, 用Python打开源文件,读取数据区,然后截取所要的数据,把数据保存到新的文件,代码如下,
import win32uitar_file="target.txt"
start = 0
end = 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"breakif 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"breaktemp = 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
python 处理Bus Hound 数据相关推荐
- Bus Hound 工具抓取串口数据(PC端抓取USB转串口数据)
测试环境: PC端 USB转串口 链接终端板卡串口 目标:抓取通信过程中的通信数据 工具介绍: Bus Hound是是由美国perisoft公司研制的一款超级软件总线协议分析器,它是一种专用于PC机各 ...
- USB抓包工具Bus Hound
Bus Hound是一款超级软件总线协议分析器,它是一种专用于PC机各种总线数据包监视和控制的开发工具软件,其名"hound"的中文意思为"猎犬",即指其能敏锐 ...
- bus hound 使用介绍
bus hound 使用介绍 本文属于原创,转载请声明. 前言 我们在调试usb 设备的时候,会遇到usb通信需要调试的情况,可以使用bus hound软件进行辅助调试,下文介绍了bus hound的 ...
- linux有没有类似于串口的,linux下类似Bus Hound的工具
linux下类似Bus Hound的工具 0 推荐在linux大家有时候需要调试usb接口的串口消息,但是没有类似于windows下的bus hound工具,感觉比较痛苦,其实linux内核提供了us ...
- Bus Hound的简单介绍
Bus Hound是一款在pc上就可以抓包的usb辅助工具,做usb开始手头没有专用抓包工具时可以偶尔一用. 这里把几个需要注意的地方: 1.自动检测设备的插入拔出 Devices->Auto ...
- Bus hound 监控USB
Bus hound是一款监控USB软件,Devices里勾选要监控的USB,capture里点击run开始监控数据,stop停止.但是里面的数据很多,如果只看输入输出的数据可以在setting 里面设 ...
- Python数据挖掘:数据转换-数据规范化
来源:天善智能韦玮老师课堂笔记 作者:Dust ---------- 数据转换: 简单变换 1.数据变换的目的是降数据转化为更方便分析的数据. 2.简单变换通常使用函数变换的方式进行,常见的函数变换包 ...
- 【python】使用python脚本将LFW数据中1672组同一个人多张照片拷贝出来
使用python脚本将LFW数据中1672组同一个人多张照片拷贝出来 dataCleaning4multiple.py 源码如下: import os, random, shutil import s ...
- python游戏中调整箭头下落速度_入门 | 三行Python代码,让数据预处理速度提高2到6倍...
原标题:入门 | 三行Python代码,让数据预处理速度提高2到6倍 选自TowardsDataScience 作者:George Seif,机器之心编译 在 Python 中,我们可以找到原生的并行 ...
最新文章
- hdu 1022 Train Problem I(栈)
- SAP历史库存MB5B的详解
- Python中sys.argv方法的一些典型用法
- boost::contract模块实现name list名单的测试程序
- 19秋学期南开c语言在线作业,南开19秋学期(1709、1803、1809、1903、1909)《C语言程序设计》在线作业满分答案1...
- ai文件图片连接丢失怎么处理_图片文字识别提取,再也不用辛苦码字了
- fastdfs java qps,关于vsftpd与fastDFS的问题?
- [Python] set()函数 创建一个无序不重复元素集
- Linux命令格式查询目录中的内容
- 【生信进阶练习1000days】day7-RSQLite的使用
- 使用Stream生成菜单、地区树
- Win2008系统下装CTBS之前的系统组件安装向导第二篇(补充篇)
- EDA工具对芯片产业的重要性知识科普
- 史上最后一位数学全才——庞加莱
- 7474触发器 异步三进制加法计数器
- Python常用英文单词
- 数学规划模型(三):整数规划模型
- 高德地图 java_几行代码实现高德地图的高级用法
- Hadoop大数据系列组键-部署
- 凯撒密码(Caesar)