python实现扫描日志关键字的示例


Posted in Python onApril 28, 2018

我们在压力测试过程会收集到很多log,怎样快速从中找到有用信息呢?让python脚本帮我们做这部分工作吧!

废话不说,上代码

环境:win10 + python2.7.14

#-*- encoding: utf-8 -*-
#author : beihuijie
#version 1.1
import re
import sys
import os
import countTime
def getParameters():
 '''
 get parameters from console command
 '''
 with open(sys.argv[1], "r") as fread:
 lines = fread.readlines()
 keywords=[]
 for line in lines:
  temp = line.split(', ')
  keywords.append(temp)
 for i in range(0, (len(keywords[0]) - 1)):
  print ' Keyword = %s' % keywords[0][i]
 return keywords[0]
def isFileExists(strfile):
 '''
 check the file whether exists
 '''
 return os.path.isfile(strfile)
def Search(keyword, filename):
 '''
 search the keyword in a assign file
 '''
 if(isFileExists(filename) == False):
 print 'Input filepath is wrong,please check again!'
 sys.exit()
 linenum = 1
 findtime = 0
 with open(filename, 'r') as fread:
 lines = fread.readlines()
 for line in lines:
  rs = re.findall(keyword, line, re.IGNORECASE)
  if rs:
  #output linenum of keyword place 
  sys.stdout.write('line:%d '%linenum)
  lsstr = line.split(keyword)
  strlength = len(lsstr)
  findtime = findtime + 1
  #print strlength
  for i in range(strlength):
   if(i < (strlength - 1)):
   sys.stdout.write(lsstr[i].strip())
   sys.stdout.write(keyword)
   else:
   sys.stdout.write(lsstr[i].strip() + '\n')
  linenum = linenum + 1
 print '+----------------------------------------------------------------------------+'
 print (' Search result: find keyword: %s %d times'%(keyword, findtime))
 print '+----------------------------------------------------------------------------+'
def executeSearch():
 '''
 this is a execute search method
 '''
 ls = getParameters()
 start = countTime.getTime()
 parameter_number = len(ls)
 print 'Filename = %s ' % ls[parameter_number - 1]
 print '--------------------start search-------------------------'
 if(parameter_number >= 2):
 for i in range(parameter_number - 1):
  Search(ls[i], ls[parameter_number - 1])
 else:
 print 'There is a parameter error occured in executeSearch()!'
 end = countTime.getTime()
 print '+----------------------------------------------------------------------------+'
 print ' Total cost time: %s'%countTime.formatTime(end - start)
 print '+============================================================================+'
 
if __name__=='__main__':
 executeSearch()

countTime.py

#-*- encoding: utf-8 -*-
#author : beihuijie
#version 1.1
import datetime
import time
def getTime():
 '''
 return time is format of time(unit is second)
 '''
 return time.time()
def getCPUClockTime():
 '''
 return time is CPU Clock time
 '''
 return time.clock()
def formatTime(timevalue):
 '''
 format the time numbers
 '''
 hour = 0
 minute = 0
 second = 0
 if timevalue > 0:
 #count hour
 hour = timevalue // 3600
 remain = timevalue % 3600
 #count minute
 minute = remain // 60
 remain = remain % 60
 #count second
 second = round(remain, 3)
 return '%.0fh:%.0fm:%.3fs'%(hour, minute, second)
 
if __name__=='__main__':
 value = 134.45632
 print value
 print formatTime(value)

关键字及被扫描的日志路径信息,记录到文件中,以逗号+空格隔开,如,“, ”日志路径信息放到最后。

格式如下:

anr, dalvikvm: Could not find class 'android.app.usage., panic, C:\Users\BHJ\logcat1.log

执行结果:

python实现扫描日志关键字的示例

以上这篇python实现扫描日志关键字的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解python中的线程
Feb 10 Python
django js实现部分页面刷新的示例代码
May 28 Python
python TKinter获取文本框内容的方法
Oct 11 Python
基于python-opencv3的图像显示和保存操作
Jun 27 Python
Python3 itchat实现微信定时发送群消息的实例代码
Jul 12 Python
python 读取修改pcap包的例子
Jul 23 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
Oct 14 Python
Python调用Windows命令打印文件
Feb 07 Python
新手入门学习python Numpy基础操作
Mar 02 Python
使用python客户端访问impala的操作方式
Mar 28 Python
python接口自动化之ConfigParser配置文件的使用详解
Aug 03 Python
python爬虫之selenium库的安装及使用教程
May 23 Python
python socket网络编程之粘包问题详解
Apr 28 #Python
在Windows中设置Python环境变量的实例讲解
Apr 28 #Python
PyTorch快速搭建神经网络及其保存提取方法详解
Apr 28 #Python
对Python中type打开文件的方式介绍
Apr 28 #Python
PyTorch上搭建简单神经网络实现回归和分类的示例
Apr 28 #Python
TensorFlow实现非线性支持向量机的实现方法
Apr 28 #Python
python 通过logging写入日志到文件和控制台的实例
Apr 28 #Python
You might like
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
php简单生成随机数的方法
2015/07/30 PHP
thinkphp3.2实现上传图片的控制器方法
2016/04/28 PHP
php常用字符函数实例小结
2016/12/29 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
BOOM vs RR BO5 第二场 2.14
2021/03/10 DOTA
jQuery数据缓存功能的实现思路及简单模拟
2013/05/27 Javascript
JavaScript中Math对象方法使用概述
2014/01/02 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
2014/06/09 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
Jquery中基本选择器用法实例详解
2015/05/18 Javascript
js实现纯前端的图片预览
2016/04/27 Javascript
详解Jquery Easyui的验证扩展
2017/01/09 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
2017/02/20 Javascript
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
详解几十行代码实现一个vue的状态管理
2019/01/28 Javascript
Vue的属性、方法、生命周期实例代码详解
2019/09/17 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
深入解析微信小程序开发中遇到的几个小问题
2020/07/11 Javascript
[46:37]LGD vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python素数检测实例分析
2015/06/15 Python
python实现大学人员管理系统
2019/10/25 Python
PyTorch和Keras计算模型参数的例子
2020/01/02 Python
pytorch forward两个参数实例
2020/01/17 Python
简述python Scrapy框架
2020/08/17 Python
英国儿童图书网站:Scholastic
2017/03/26 全球购物
网站域名和主机:Domain.com
2019/04/01 全球购物
自荐信的五个重要部分
2013/10/29 职场文书
老总助理工作岗位职责
2014/02/06 职场文书
史学专业毕业生求职信
2014/05/09 职场文书
师德师风学习材料
2014/12/19 职场文书
一年级语文下册复习计划
2015/01/17 职场文书
2015关于重阳节的演讲稿
2015/03/20 职场文书
客服专员岗位职责范本
2015/04/07 职场文书
2016新年问候语大全
2015/11/11 职场文书
SQL实现LeetCode(176.第二高薪水)
2021/08/04 MySQL