python实现按关键字筛选日志文件
作者:变异的小江江 发布时间:2022-12-28 21:45:49
标签:python,关键字,筛选,日志文件
最近忙成了狗,五六个项目堆在一起,头疼的是测试还失惊无神的给我丢来一个几十甚至上百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上运行估计会有问题。
来源:https://blog.csdn.net/monalisatearr/article/details/82714044
0
投稿
猜你喜欢
- 自从HTML5能为我们的新网页带来更高效洁净的代码而得到更多的关注,然而唯一能让IE识别那些新元素(如<article>)的途径
- 我就废话不多说了,直接上代码吧:package mainimport ("flag""fmt"&qu
- 本文实例总结了php遍历目录方法。分享给大家供大家参考。具体如下:1. 方法1 <?p
- (1)序列化即js中的Object转化为字符串1.使用obj.toJSONString()var str=obj.toJSONString(
- 一,利用键盘响应,在不刷新本页面的情况下验证表单输入是否合法用户通过onkeydown和onkeyup事件来触发响应事件。使用方法和oncl
- 1.执行cmd命令,不显示执行过程中弹出的黑框def run_cmd( cmd_str='', echo_print=1):
- 这篇文章主要介绍了python重要函数eval多种用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 1.获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name2.获取所有表
- 本文实例讲述了PHP基于phpqrcode生成带LOGO图像的二维码。分享给大家供大家参考。具体如下:这里PHP使用phpqrcode生成带
- 第一个示例: 简单的jsp自定标签获取内容: 首先创建一个jsp实例类然后继承SimpleTagSupport类 然后实现父类的doTag(
- 众所周知,FileSystemObject(fso)组件的强大功能及破坏性是它屡屡被免费主页提供商(那些支持ASP)的禁用的原因,我整理了一
- MySQL安全性指南(3) 作 者: 晏子2.4 不用GRANT设置用户如果你有一个早于3.22.11的MySQL版本,你不能使用GRANT
- WSGI协议首先弄清下面几个概念:WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python
- 作者:bencalie 整理日期:2004年6月15日<xml id="users"> <u
- 文 | 某某白米饭来源:Python 技术「ID: pythonall」微信和 QQ 都有一个存放缓存文件的文件夹,微信在设置 -
- 平时我们获取事件对象一般写法如下:function getEvent(event) { return e
- 环境python版本号系统游览器python 3.7.2win7google chrome关于本文本文将会通过爬虫的方式实现简单的百度翻译。
- 最近由于单位数据库硬盘空间不足,整理的时候查了许多文章,也进行了测试,整理后得出一些经验供大家参考。首先,在网上看到一篇文章,如何Shrin
- 相信很多与页面打过交道的同学都对 Yahoo 的 Best Practices for Speeding Up Your Web Site
- 原文作者:青女 附注及色样添加:Quester西式的色名及色样表,可以参见以下链接 (Java 类色彩兼容):http