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实现将json文件中向量写入Excel的方法
Mar 26 Python
python之文件读取一行一行的方法
Jul 12 Python
Python 生成 -1~1 之间的随机数矩阵方法
Aug 04 Python
解决PyCharm的Python.exe已经停止工作的问题
Nov 29 Python
Django模型序列化返回自然主键值示例代码
Jun 12 Python
Python实现的对一个数进行因式分解操作示例
Jun 27 Python
Python常用模块sys,os,time,random功能与用法实例分析
Jan 07 Python
Python进阶之迭代器与迭代器切片教程
Jan 29 Python
TensorFlow实现从txt文件读取数据
Feb 05 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
Sep 05 Python
python中pivot()函数基础知识点
Jan 03 Python
Python测试框架pytest高阶用法全面详解
Jun 01 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使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
php限制ip地址范围的方法
2015/03/31 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
2018/04/20 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
js日历功能对象
2012/01/12 Javascript
jquery监听div内容的变化具体实现思路
2013/11/04 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
2015/05/07 Javascript
jQuery封装的tab选项卡插件分享
2015/06/16 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
微信小程序 自定义对话框实例详解
2017/01/20 Javascript
ES6中参数的默认值语法介绍
2017/05/03 Javascript
JavaScript中Require调用js的实例分享
2017/10/27 Javascript
Node.js使用MySQL连接池的方法实例
2018/02/11 Javascript
深入理解JS异步编程-Promise
2019/06/03 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
[07:47]DOTA2国际邀请赛采访专栏:探访Valve总部
2013/08/08 DOTA
Python 功能和特点(新手必学)
2015/12/30 Python
python运用sklearn实现KNN分类算法
2019/10/16 Python
Python HTMLTestRunner可视化报告实现过程解析
2020/04/10 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
Django自定义YamlField实现过程解析
2020/11/11 Python
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
美国最好的葡萄酒网上商店:Wine Library
2019/11/02 全球购物
laravel使用redis队列实例讲解
2021/03/23 PHP
父亲追悼会答谢词
2014/01/17 职场文书
银行见习期自我鉴定
2014/01/29 职场文书
升国旗演讲稿
2014/09/05 职场文书
给客户的感谢信
2015/01/21 职场文书
护士求职自荐信
2015/03/25 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书
办公室卫生管理制度
2015/08/04 职场文书
在Windows下安装配置CPU版的PyTorch的方法
2021/04/02 Python
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电