码迷,mamicode.com
首页 > 编程语言 > 详细

python 3.x 分析日志的模块(正则匹配)

时间:2018-02-09 17:16:54      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:var   return   turn   日志文件   pre   信息   模块   分析日志   print   

#导入正则模块 import re auth="no_shutdown_" ‘‘‘ 分析日志的模块,查找日志中标志性信息产生的次数 ‘‘‘ #定义你需要查找的对象的正则表达式wordcheck #需要分析的日志的路径filesource def checklog(wordcheck,filesource): #定义一个空的字典用来存放查询的结果 size={} #异常捕获当文件不存在的时候抛出异常 try: #打开日志文件 file=open(filesource,"r") #循环读取日志文件的每一行 for i in file: #使用re模块的search功能查找当前行是否能和正则匹配 x=re.search(wordcheck,i) #如果匹配到结果则执行if中的代码 if x: #取出查询到的结果 tmp=x.group() #get函数作用是如果字典中取不到key的值则赋一个默认值,也就是每一次查询到一个新的结果就将这个结果作为key vlaue=0新加到字典中 size[tmp]=size.get(tmp,0) #在字典中将value加1,记录一次查找 size[tmp]+=1 #关闭文件 file.close() #如果有异常抛出文件异常 except FileExistsError as e: print(e) #没有异常打印结果 else: return size #测试分析apache访问日志中的所有访问过的ip和次数 rs=checklog("(\d+\.){3}\d+","/var/log/httpd/access_log") print(rs)

结果
因为是测试机上的日志结果比较少
{‘127.0.0.1‘: 58, ‘192.168.2.254‘: 10}

python 3.x 分析日志的模块(正则匹配)

标签:var   return   turn   日志文件   pre   信息   模块   分析日志   print   

原文地址:http://blog.51cto.com/13466287/2070718

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!