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 相关文章推荐
wxpython 学习笔记 第一天
Mar 16 Python
Python实现通过文件路径获取文件hash值的方法
Apr 29 Python
python机器学习库常用汇总
Nov 15 Python
python实现壁纸批量下载代码实例
Jan 25 Python
python命名空间(namespace)简单介绍
Aug 10 Python
Python配置文件处理的方法教程
Aug 29 Python
Python中的Cookie模块如何使用
Jun 04 Python
Django封装交互接口代码
Jul 12 Python
Python如何急速下载第三方库详解
Nov 02 Python
Python之字符串的遍历的4种方式
Dec 08 Python
Python-OpenCV实现图像缺陷检测的实例
Jun 11 Python
Python进程池与进程锁之语法学习
Apr 11 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中获取主机名、协议及IP地址的方法
2014/11/18 PHP
PHP实现的分页类定义与用法示例
2017/07/05 PHP
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
jQuery点击tr实现checkbox选中的方法
2013/03/19 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
EasyUI中实现form表单提交的示例分享
2015/03/01 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
javascript弹出带文字信息的提示框效果
2016/07/19 Javascript
JavaScript实现前端分页控件
2017/04/19 Javascript
ES6正则表达式扩展笔记
2017/07/25 Javascript
Angular2 组件交互实例详解
2017/08/24 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
2018/12/10 Javascript
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
让IDE识别webpack的别名alias的实现方法
2020/05/06 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
Python程序员开发中常犯的10个错误
2014/07/07 Python
python字典嵌套字典的情况下找到某个key的value详解
2019/07/10 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
2019/07/11 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
Python+Opencv实现把图片、视频互转的示例
2020/12/17 Python
美国半成品食材配送服务商:Home Chef
2018/01/25 全球购物
物业管理毕业生个人的求职信
2013/11/30 职场文书
置业顾问岗位职责
2014/03/02 职场文书
优秀语文教师事迹
2014/05/18 职场文书
2014年学生会生活部工作总结
2014/11/07 职场文书
先进个人总结范文
2015/02/15 职场文书
2015大学迎新晚会策划书
2015/07/16 职场文书
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
PHP遍历数组的6种方式总结
2021/11/17 PHP
Java服务调用RestTemplate与HttpClient的使用详解
2022/06/21 Java/Android