一、前言
接到兄弟项目组测试人员的一个需求,大概是这样子的。一个满电量的摄像头,放置100个小时,获取每个小时的电池容量,并且绘图出来。话不多说,下面是解决步骤。
二、环境准备
1、摄像头的电池容量日志原文件(链接:https://pan.baidu.com/s/1Kf_pGHLP4k2LjaLcHELsRQ 提取码:v7hl)
2、shell
3、pycharm
三、日志原文件解析
摄像头的耗电量是大概每隔10s上报一次,如下如显示
四、具体步骤
1、先过滤出所有包含Cap的行内容,并且保存到mytest.txt文件中
grep 'Cap = ' test.txt | awk -F "," '{print$1}' | awk -F "=" '{print$2}' | awk -F "'" '{print$1}' >mytest.txt
mytest.txt下载地址链接:https://pan.baidu.com/s/1UsQGBAUculkDhEHq2HgRpQ 提取码:pur8
2、使用python处理mytest.txt文件,返回一个时间戳列表和电池耗电量列表,如下:
a、定义获取电磁容量的方法
b、定义获取时间的方法,精确到小时
c、使用for循环遍历,得到两个list
d、对两个list进行数据清洗,对应每个小时的电池容量只能有一个
最终的两个列表,作为matplotlib的主要入参
3、使用python的专业可视化库matplotlib对两个列表进行绘图,效果如下:
主要代码
运行脚本
可以很好的看出,X轴是时间点,并且每小时为单位,Y轴是摄像头电池容量
python脚本下载地址(链接:https://pan.baidu.com/s/1tV9samy9mfcEI6xIMXGkkQ 提取码:urm1 )