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网络爬虫之如何伪装逃过反爬虫程序的方法
Nov 23 Python
django将网络中的图片,保存成model中的ImageField的实例
Aug 07 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
Sep 23 Python
如何分离django中的媒体、静态文件和网页
Nov 12 Python
Python中顺序表原理与实现方法详解
Dec 03 Python
Python常用模块os.path之文件及路径操作方法
Dec 03 Python
numpy按列连接两个维数不同的数组方式
Dec 06 Python
基于pandas中expand的作用详解
Dec 17 Python
python @propert装饰器使用方法原理解析
Dec 25 Python
Python tkinter三种布局实例详解
Jan 06 Python
Selenium及python实现滚动操作多种方法
Jul 21 Python
Python tempfile模块生成临时文件和临时目录
Sep 30 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获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
php printf输出格式使用说明
2010/12/05 PHP
PHP多进程编程实例
2014/10/15 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
PHP中“=>
2019/03/01 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
jquery取消选择select下拉框示例代码
2014/02/22 Javascript
jquery SweetAlert插件实现响应式提示框
2015/08/18 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
Bootstrap实现的标签页内容切换显示效果示例
2017/05/25 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
2018/04/08 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
2018/11/14 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
原生JS与JQ获取元素的区别详解
2020/02/13 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
python求斐波那契数列示例分享
2014/02/14 Python
python使用Berkeley DB数据库实例
2014/09/26 Python
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
python多进程和多线程究竟谁更快(详解)
2017/05/29 Python
解决python中 f.write写入中文出错的问题
2018/10/31 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
如何解决cmd运行python提示不是内部命令
2020/07/01 Python
open_basedir restriction in effect. 原因与解决方法
2021/03/14 PHP
高一物理教学反思
2014/01/24 职场文书
遗嘱继承公证书
2014/04/09 职场文书
求职推荐信范文
2015/03/27 职场文书
涨价通知怎么写
2015/04/23 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
婚庆公司开业主持词
2015/06/30 职场文书
旅游投诉信范文
2015/07/02 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
Python+Selenium实现读取网易邮箱验证码
2022/03/13 Python