python 3.x 分析日志的模块(正则匹配)
2018-02-09 17:03
337 查看
#导入正则模块 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时间的精准正则匹配方法分析
- Python正则匹配 -> 模块和基本函数
- Py修行路 python基础 (二十一)logging日志模块 json序列化 正则表达式(re)
- python - re正则匹配模块
- python 日志模块示例的详细分析
- Python数据分析学习-re正则表达式模块
- 用python3.x正则表达式匹配中文字符串
- Python日志、序列化、正则模块
- Python日志模块logging基本用法分析
- python正则分析nginx的访问日志
- Python正则表达式,统计分析nginx访问日志
- python 正则分析nginx日志
- Python日志分析与正则表达式
- Nginx日志分析--路径匹配篇
- python与自然语言处理1 正则匹配
- python中re正则表达式模块学习
- 更强大的python正则表达式模块 -- regex
- 【python】logging日志模块写入中文编码错误解决办法
- 使用python分析git log日志示例
- Python中正则表达式对中文的匹配问题