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

yipeiwu_com5年前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增加矩阵维度的实例讲解

numpy.expand_dims(a, axis) Examples >>> x = np.array([1,2]) >>> x.shape...

Python如何优雅获取本机IP方法

见过很多获取服务器本地IP的代码,个人觉得都不是很好,例如以下这些 不推荐:靠猜测去获取本地IP方法 #!/usr/bin/env python # -*- coding: utf-...

Python编程中实现迭代器的一些技巧小结

yield实现迭代器 如引言中的描述,实现一个可迭代的功能要是每次都手动实现iter,next稍稍有点麻烦,所需的代码也是比较客观。在python中也能通过借助yield的方式来实现一个...

Python多线程学习资料

一、Python中的线程使用: Python中使用线程有两种方式:函数或者用类来包装线程对象。 1、 函数式:调用thread模块中的start_new_thread()函数来产生新线程...

python多进程重复加载的解决方式

flask多进程会引起重复加载, 解决方法:把耗资源的加载挪到函数里面或者类里面,就不会重复加载资源了。 测试发现,不是flask引起的,是多进程会引起重复加载python文件。 把fl...