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使用arp欺骗伪造网关的方法
Apr 24 Python
Python复制文件操作实例详解
Nov 10 Python
Pycharm 设置自定义背景颜色的图文教程
May 23 Python
Python读写zip压缩文件的方法
Aug 29 Python
Python通过for循环理解迭代器和生成器实例详解
Feb 16 Python
15行Python代码实现网易云热门歌单实例教程
Mar 10 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
Apr 01 Python
python调用自定义函数的实例操作
Jun 26 Python
Python中那些 Pythonic的写法详解
Jul 02 Python
Window系统下Python如何安装OpenCV库
Mar 05 Python
Pytorch十九种损失函数的使用详解
Apr 29 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
Jun 24 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实现上传图片生成缩略图示例
2014/04/13 PHP
使用vs code编辑调试php配置的方法
2019/01/29 PHP
php转换上传word文件为PDF的方法【基于COM组件】
2019/06/10 PHP
Windows服务器中PHP如何安装redis扩展
2019/09/27 PHP
Lazy Load 延迟加载图片的 jQuery 插件
2010/02/06 Javascript
javascript中关于break,continue的特殊用法与介绍
2012/05/24 Javascript
JavaScript的漂亮的代码片段
2013/06/05 Javascript
javascript实现yield的方法
2013/11/06 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
浅谈移动端之js touch事件 手势滑动事件
2016/11/07 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
React Native使用fetch实现图片上传的示例代码
2018/03/07 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
js实现秒表计时器
2019/12/16 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
2020/09/04 Javascript
element中Steps步骤条和Tabs标签页关联的解决
2020/12/08 Javascript
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
Python日期的加减等操作的示例
2017/08/15 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
python使用sklearn实现决策树的方法示例
2019/09/12 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
业务员薪酬管理制度
2014/01/15 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
小学教师求职信范文
2015/03/20 职场文书
创业计划书之寿司
2019/07/19 职场文书
总结Python连接CS2000的详细步骤
2021/06/23 Python
k8s部署redis cluster集群的实现
2021/06/24 Redis
Python与C++中梯度方向直方图的实现
2022/03/17 Python
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技