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进行数据提取的方法总结
Aug 22 Python
asyncio 的 coroutine对象 与 Future对象使用指南
Sep 11 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 Python
Python下实现的RSA加密/解密及签名/验证功能示例
Jul 17 Python
Python 3中print函数的使用方法总结
Aug 08 Python
对python-3-print重定向输出的几种方法总结
May 11 Python
python创建与遍历List二维列表的方法
Aug 16 Python
如何为Python终端提供持久性历史记录
Sep 03 Python
python框架django项目部署相关知识详解
Nov 04 Python
Python模拟登录之滑块验证码的破解(实例代码)
Nov 18 Python
keras获得某一层或者某层权重的输出实例
Jan 24 Python
在pyCharm中下载第三方库的方法
Apr 18 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
php adodb连接不同数据库
2009/03/19 PHP
php的array_multisort()使用方法介绍
2012/05/16 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
2019/06/25 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
JS实现的数字格式化功能示例
2017/02/10 Javascript
利用jQuery解析获取JSON数据
2017/04/08 jQuery
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
2019/04/29 Javascript
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
介绍Python的@property装饰器的用法
2015/04/28 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
2016/06/13 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
Python生成器定义与简单用法实例分析
2018/04/30 Python
python 对txt中每行内容进行批量替换的方法
2018/07/11 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
如何爬取通过ajax加载数据的网站
2019/08/15 Python
python基于plotly实现画饼状图代码实例
2019/12/16 Python
Python随机数函数代码实例解析
2020/02/09 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
伦敦时尚生活的缩影:LN-CC
2017/01/24 全球购物
全球性的在线婚纱礼服工厂:27dress.com
2019/03/21 全球购物
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
2014/07/16 面试题
八一慰问活动方案
2014/02/07 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
我的中国梦演讲稿600字
2014/08/19 职场文书
教师师德考核自我评价
2014/09/13 职场文书
企业法人代表证明书
2014/09/27 职场文书
大学生学年个人总结
2015/02/15 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书
react合成事件与原生事件的相关理解
2021/05/13 Javascript