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实现的下载8000首儿歌的代码分享
Nov 21 Python
浅谈python多线程和队列管理shell程序
Aug 04 Python
Python进阶之尾递归的用法实例
Jan 31 Python
python将字符串以utf-8格式保存在txt文件中的方法
Oct 30 Python
Python数据类型之Dict字典实例详解
May 07 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
Jun 12 Python
python编写猜数字小游戏
Oct 06 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
Oct 11 Python
在Python中使用filter去除列表中值为假及空字符串的例子
Nov 18 Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 Python
使用Django的JsonResponse返回数据的实现
Jan 15 Python
Django项目如何正确配置日志(logging)
Apr 29 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+javascript液晶时钟
2006/10/09 PHP
php生成随机密码的几种方法
2011/01/17 PHP
php中批量替换文件名的实现代码
2011/07/20 PHP
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
php实现 master-worker 守护多进程模式的实例代码
2019/07/20 PHP
JavaScript中Math对象使用说明
2008/01/16 Javascript
javascript 关于# 和 void的区别分析
2009/10/26 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
js 打开新页面在屏幕中间的实现方法
2016/11/02 Javascript
AngularJS用户选择器指令实例分析
2016/11/04 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
零基础轻松学JavaScript闭包
2016/12/30 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
2017/01/19 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
[03:17]2014DOTA2 国际邀请赛中国区预选赛 四强专访
2014/05/23 DOTA
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
pytorch 加载(.pth)格式的模型实例
2019/08/20 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
美国体育用品在线:Modell’s Sporting Goods
2018/06/07 全球购物
戛纳奢侈品商店:Jacques Loup法国
2019/11/04 全球购物
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
计算机开发个人求职信范文
2013/09/26 职场文书
应届生财务会计求职信
2013/11/05 职场文书
银行演讲稿范文
2014/01/03 职场文书
网上商城创业计划书范文
2014/01/31 职场文书
万能检讨书
2015/01/27 职场文书
商务宴请邀请函范文
2015/02/02 职场文书