工作中,经常要用到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 数据相关推荐

  1. Bus Hound 工具抓取串口数据(PC端抓取USB转串口数据)

    测试环境: PC端 USB转串口 链接终端板卡串口 目标:抓取通信过程中的通信数据 工具介绍: Bus Hound是是由美国perisoft公司研制的一款超级软件总线协议分析器,它是一种专用于PC机各 ...

  2. USB抓包工具Bus Hound

    Bus Hound是一款超级软件总线协议分析器,它是一种专用于PC机各种总线数据包监视和控制的开发工具软件,其名"hound"的中文意思为"猎犬",即指其能敏锐 ...

  3. bus hound 使用介绍

    bus hound 使用介绍 本文属于原创,转载请声明. 前言 我们在调试usb 设备的时候,会遇到usb通信需要调试的情况,可以使用bus hound软件进行辅助调试,下文介绍了bus hound的 ...

  4. linux有没有类似于串口的,linux下类似Bus Hound的工具

    linux下类似Bus Hound的工具 0 推荐在linux大家有时候需要调试usb接口的串口消息,但是没有类似于windows下的bus hound工具,感觉比较痛苦,其实linux内核提供了us ...

  5. Bus Hound的简单介绍

    Bus Hound是一款在pc上就可以抓包的usb辅助工具,做usb开始手头没有专用抓包工具时可以偶尔一用. 这里把几个需要注意的地方: 1.自动检测设备的插入拔出 Devices->Auto ...

  6. Bus hound 监控USB

    Bus hound是一款监控USB软件,Devices里勾选要监控的USB,capture里点击run开始监控数据,stop停止.但是里面的数据很多,如果只看输入输出的数据可以在setting 里面设 ...

  7. Python数据挖掘:数据转换-数据规范化

    来源:天善智能韦玮老师课堂笔记 作者:Dust ---------- 数据转换: 简单变换 1.数据变换的目的是降数据转化为更方便分析的数据. 2.简单变换通常使用函数变换的方式进行,常见的函数变换包 ...

  8. 【python】使用python脚本将LFW数据中1672组同一个人多张照片拷贝出来

    使用python脚本将LFW数据中1672组同一个人多张照片拷贝出来 dataCleaning4multiple.py 源码如下: import os, random, shutil import s ...

  9. python游戏中调整箭头下落速度_入门 | 三行Python代码,让数据预处理速度提高2到6倍...

    原标题:入门 | 三行Python代码,让数据预处理速度提高2到6倍 选自TowardsDataScience 作者:George Seif,机器之心编译 在 Python 中,我们可以找到原生的并行 ...

最新文章

  1. hdu 1022 Train Problem I(栈)
  2. SAP历史库存MB5B的详解
  3. Python中sys.argv方法的一些典型用法
  4. boost::contract模块实现name list名单的测试程序
  5. 19秋学期南开c语言在线作业,南开19秋学期(1709、1803、1809、1903、1909)《C语言程序设计》在线作业满分答案1...
  6. ai文件图片连接丢失怎么处理_图片文字识别提取,再也不用辛苦码字了
  7. fastdfs java qps,关于vsftpd与fastDFS的问题?
  8. [Python] set()函数 创建一个无序不重复元素集
  9. Linux命令格式查询目录中的内容
  10. 【生信进阶练习1000days】day7-RSQLite的使用
  11. 使用Stream生成菜单、地区树
  12. Win2008系统下装CTBS之前的系统组件安装向导第二篇(补充篇)
  13. EDA工具对芯片产业的重要性知识科普
  14. 史上最后一位数学全才——庞加莱
  15. 7474触发器 异步三进制加法计数器
  16. Python常用英文单词
  17. 数学规划模型(三):整数规划模型
  18. 高德地图 java_几行代码实现高德地图的高级用法
  19. Hadoop大数据系列组键-部署
  20. 凯撒密码(Caesar)

热门文章

  1. vue 如何在 style 标签里使用变量(数据)
  2. 为什么需要虚继承,虚继承的实现原理
  3. 4.Matplotlib多子图,文字和注释以及自定义坐标轴
  4. 斐波那契数列和斐波那契数
  5. Python基础(十二)——循环语句
  6. 设计模式 —— Builder 模式
  7. Java之Builder模式使用
  8. Install Windows XP without CDrom
  9. 再论牛逼、装逼、傻逼的区别
  10. 深度学习第三天-卷积神经网络(CNN):乳腺癌识别