python实现按关键字筛选日志文件


Posted in Python onDecember 24, 2019

最近忙成了狗,五六个项目堆在一起,头疼的是测试还失惊无神的给我丢来一个几十甚至上百M的日志文件,动不动就几十上百万行,就算是搜索也看得头昏眼花的,因此自己花了点时间写了一段小脚本去过滤日志,当然这样的东西网上应该大把,但是还是想自己搞下,权当学习!

#!/usr/bin/python
# -*- encoding: utf-8 -*-
# version 1.0
import re
import time
 
'''
用于筛选日志文件,适用于python2.x版本
使用时将日志文件放于search.py工具同一目录
筛选完毕后会出现“旧文件名+当前时间”格式命名的新日志文件
'''
 
 
def getParameters():
  file_name = ""
  key_work = ""
  while (True):
    file_name = raw_input("请输入文件名:")
    key_work = raw_input("请输入过滤关键字:")
    if len(file_name) == 0 or len(key_work) == 0:
      flag = raw_input("您输入的文件名或关键子为空,输出c重试,q退出程序:")
      if flag == "q":
        return
      elif flag == "c":
        continue
    else:
      break
 
  new_file = file_name + "-" + formatTime(time.localtime())
  f = open("./" + file_name, "rb")
  lines = f.readlines()
 
  if len(lines) == 0:
    print("========日志文件为空========")
    f.close()
    return
 
  nf = open("./" + new_file, "wb");
  count = 0
  for line in lines:
    rs = re.search(key_work, line)
    if rs:
      print("[命中]--->%s" % line)
      nf.write(line)
      count = count + 1
 
  f.close()
  nf.close()
  print("共找到%d条信息" % count)
 
 
def formatTime(timevalue):
  '''
  format the time numbers
  '''
  return time.strftime("%Y%m%d%H%M%S", timevalue)
 
 
if __name__ == '__main__':
  getParameters()

说明:这段脚本我是直接在终端上./xxxx.py的方式运行的,我终端由于编译android源码需要装的是python2.7.6,在python3上运行估计会有问题。

好了,下面是我测试了下的赛选结果:

python实现按关键字筛选日志文件

当然,这只针对单个文件而已!

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

Python 相关文章推荐
Python写的Socks5协议代理服务器
Aug 06 Python
python分析apache访问日志脚本分享
Feb 26 Python
Python实现简单截取中文字符串的方法
Jun 15 Python
python虚拟环境virtualenv的使用教程
Oct 20 Python
基于Python os模块常用命令介绍
Nov 03 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
Nov 17 Python
Python实现的随机森林算法与简单总结
Jan 30 Python
Pandas透视表(pivot_table)详解
Jul 22 Python
Python读写文件模式和文件对象方法实例详解
Sep 17 Python
Python中关于浮点数的冷知识
Sep 22 Python
flask的orm框架SQLAlchemy查询实现解析
Dec 12 Python
Python实现手绘图效果实例分享
Jul 22 Python
python 实现提取log文件中的关键句子,并进行统计分析
Dec 24 #Python
Python3.7+tkinter实现查询界面功能
Dec 24 #Python
python 读取更新中的log 或其它文本方式
Dec 24 #Python
如何基于python操作excel并获取内容
Dec 24 #Python
python实现tail实时查看服务器日志示例
Dec 24 #Python
Python 模拟动态产生字母验证码图片功能
Dec 24 #Python
python中return的返回和执行实例
Dec 24 #Python
You might like
德劲1103二次变频版的打磨
2021/03/02 无线电
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
解析:使用php mongodb扩展时 需要注意的事项
2013/06/18 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
2015/07/06 PHP
微信支付开发告警通知实例
2016/07/12 PHP
ThinkPHP5&5.1框架关联模型分页操作示例
2019/08/03 PHP
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
javascript中的注释使用与注意事项小结
2011/09/20 Javascript
javascript学习笔记(三) String 字符串类型介绍
2012/06/19 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
javascript数据类型详解
2017/02/07 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
详解微信小程序开发聊天室—实时聊天,支持图片预览
2019/05/20 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
Python函数嵌套实例
2014/09/23 Python
Python 实现简单的shell sed替换功能(实例讲解)
2017/09/29 Python
Python读取properties配置文件操作示例
2018/03/29 Python
python自动发送邮件脚本
2018/06/20 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
应届生会计电算化求职信
2013/10/03 职场文书
大学生求职简历的自我评价范文
2013/10/12 职场文书
测绘工程个人的自我评价
2013/11/10 职场文书
日语专业毕业生自荐信
2013/11/11 职场文书
医药代表个人的求职信分享
2013/12/08 职场文书
厂长助理岗位职责
2013/12/27 职场文书
商场经理竞聘演讲稿
2014/01/01 职场文书
运动会表扬稿大全
2014/01/16 职场文书
营销总监岗位职责范本
2014/02/26 职场文书
红领巾心向党演讲稿
2014/09/10 职场文书