python提取log文件内容并画出图表

yipeiwu_com6年前Python基础

之前在excel里面分析log数据,简直日了*了。 现在用python在处理日志数据.

主要涉及 matplotlib,open和循环的使用。

日志内容大致如下

2016-10-21 21:07:59,787 [7 MainWindowForm]INFO: update time 136.6314
2016-10-21 21:07:59,908 [7 KinectServer]INFO: lClientSockets[0] elapsed time 16.
2016-10-21 21:07:59,918 [7 KinectServer]INFO: lClientSockets[1] elapsed time 107.
2016-10-21 21:07:59,929 [7 MainWindowForm]INFO: update time 135.1311
2016-10-21 21:08:00,039 [7 KinectServer]INFO: lClientSockets[0] elapsed time 14.
2016-10-21 21:08:00,045 [7 KinectServer]INFO: lClientSockets[1] elapsed time 103.
2016-10-21 21:08:00,053 [7 MainWindowForm]INFO: update time 118.1132

python处理代码

import matplotlib.pyplot as plt

input = open('serverlog.txt', 'r')

rangeUpdateTime = [0.0]

for line in input:
  line = line.split()
  if 'update' in line:
    rangeUpdateTime.append(float(line[-1]))

plt.figure('frame time')
plt.subplot(211)
plt.plot(rangeUpdateTime, '.r',)
plt.grid(True)
plt.subplot(212)
plt.plot(rangeUpdateTime)
plt.grid(True)
plt.show()

结果

真心是又好又快出结果^_^

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

对python中的乘法dot和对应分量相乘multiply详解

向量点乘 (dot) 和对应分量相乘 (multiply) : >>> a array([1, 2, 3]) >>> b array([ 1.,...

Python中使用动态变量名的方法

如果要写一个程序,让x1为1,x2为2,然后直到x100为100,你会怎么做? 在C这种静态语言里,变量名这个标识符实际上会被编译器直接翻译成内存地址,所以除了手动设置每个变量的值以外,...

python3.6的venv模块使用详解

python3.6的venv模块使用详解

今天,在在使用 pycharm 的使用,进行创建 python的时候,发现使用默认的创建的选项使用的python 3环境 。而我系统默认的python环境是 python 2.7 环境;...

PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形

PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形

在之前介绍PyQtGraph的文章中,我们都是一次性的获取数据并将其绘制为图形。然而在很多场景中,我们都需要对实时的数据进行图形化展示,比如:股票的实时行情、仪器设备的实时状态等,这时候...

Python编程实现及时获取新邮件的方法示例

本文实例讲述了Python编程实现及时获取新邮件的方法。分享给大家供大家参考,具体如下: #-*- encoding: utf-8 -*- import sys import loc...