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解析模块(ConfigParser)使用方法
Dec 10 Python
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
Nov 06 Python
教大家使用Python SqlAlchemy
Feb 12 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
Jan 08 Python
TensorFlow实现AutoEncoder自编码器
Mar 09 Python
Python日志模块logging基本用法分析
Aug 23 Python
selenium+python配置chrome浏览器的选项的实现
Mar 18 Python
解决Django中checkbox复选框的传值问题
Mar 31 Python
Python实现aes加密解密多种方法解析
May 15 Python
Python如何对齐字符串
Jul 30 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 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
php cookies中删除的一般赋值方法
2011/05/07 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
PHP中Static(静态)关键字功能与用法实例分析
2019/04/05 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
javascript中最常用的继承模式 组合继承
2010/08/12 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
教你JS中的运算符乘方、开方及变量格式转换
2016/08/09 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
2016/09/14 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
layui use 定义js外部引用函数的方法
2019/09/26 Javascript
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
[13:16]INFAMOUS vs VGJ T BO3
2018/06/07 DOTA
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
python numpy生成等差数列、等比数列的实例
2020/02/25 Python
使用Python项目生成所有依赖包的清单方式
2020/07/13 Python
python Selenium 库的使用技巧
2020/10/16 Python
python设置中文界面实例方法
2020/10/27 Python
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
表扬信格式
2014/01/12 职场文书
保密普查工作实施方案
2014/02/25 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
优秀实习生主要事迹
2014/05/29 职场文书
班子四风对照检查材料
2014/08/21 职场文书
小学入学感言
2015/08/01 职场文书
农村房屋租赁合同(范本)
2019/07/23 职场文书
企业内部管理控制:银行存款控制制度范本
2020/01/10 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS
ORACLE数据库应用开发的三十个注意事项
2021/06/07 Oracle
Python使用openpyxl批量处理数据
2021/06/23 Python
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2022/06/25 Servers