python中将正则过滤的内容输出写入到文件中的实例

 更新时间:2018年10月21日 15:08:43   作者:levy_cui  
今天小编就为大家分享一篇python中将正则过滤的内容输出写入到文件中的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

处理过滤Apache日志文件

access_test.log文件内容

27.19.74.143 - - [30/May/2015:17:38:21 +0800] "GET /static/image/smiley/default/sleepy.gif HTTP/1.1" 200 2375
8.35.201.164 - - [30/May/2015:17:38:21 +0800] "GET /static/image/common/pn.png HTTP/1.1" 200 592

过滤目标

60.166.12.170 31/May/2013:00:00:02 /forum.php 200 45780

处理后将内容写入到文件20160205.txt

#!/usr/bin/env python  
# - coding:utf - 8 -*-
import re,sys

with open('access_test.log') as f:
  for line in f:
    parseip = re.search(r'(.*?) - - ', line)
    parsetime = re.search(r'
(.∗?)
(.∗?)
', line)
    parseurl = re.search(r' "\w+ (.*?) HTTP/', line)
    parsestatus = re.search(r' HTTP/(.*?)" (.*?) ', line)
    parseTraffic = re.search(r'\d+ \d+', line)

    if parseip and parsetime and parseurl and parsestatus and parseTraffic is None:
      continue
    
    output=sys.stdout
    outputfile=open('20160205.txt','a')
    sys.stdout=outputfile
    print parseip.group(1).split('?')[0] + '\t' + parsetime.group(1).split('?')[0] + '\t' + parseurl.group(1).split('?')[0] + '\t' + parsestatus.group(2) + '\t' + parseTraffic.group(0).split(' ')[1]
    outputfile.close()
    sys.stdout=output


import sys

然后在打算把输出数据写入文件的代码之前加上以下代码

output=sys.stdout
outputfile=open(filename,'w')
sys.stdout=outputfile

上面的filename表示输出文件

程序结束或恢复成正常输出时加上以下代码

outputfile.close()
sys.stdout=output

恢复输出为开始保存的正常输出值

以上这篇python中将正则过滤的内容输出写入到文件中的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python中JSON数据的相互转化详解

    Python中JSON数据的相互转化详解

    这篇文章主要介绍了Python中JSON数据的相互转化详解,JSON 是一种轻量级的数据交互格式,可以按照 JSON 指定的格式去组织和封装数据,
    JSON 本质是一个带有特定格式的字符串,需要的朋友可以参考下
    2023-12-12
  • Python 6种基本变量操作技巧总结

    Python 6种基本变量操作技巧总结

    这篇文章主要为大家总结了Python必备的6种基本变量操作技巧,文中通过图片合示例详细为大家进行了介绍,感兴趣的小伙伴可以了解一下
    2022-03-03
  • python脚本实现查找webshell的方法

    python脚本实现查找webshell的方法

    这篇文章主要介绍了python脚本实现查找webshell的方法,是很实用的一个功能,需要的朋友可以参考下
    2014-07-07
  • python通过Matplotlib绘制常见的几种图形(推荐)

    python通过Matplotlib绘制常见的几种图形(推荐)

    这篇文章主要介绍了使用matplotlib对几种常见的图形进行绘制方法的相关资料,需要的朋友可以参考下
    2021-08-08
  • python基于selenium爬取斗鱼弹幕

    python基于selenium爬取斗鱼弹幕

    这篇文章主要介绍了python如何基于selenium爬取斗鱼弹幕,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-02-02
  • spark dataframe全局排序id与分组后保留最大值行

    spark dataframe全局排序id与分组后保留最大值行

    这篇文章主要为大家介绍了spark dataframe全局排序id与分组后保留最大值行实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Python 时间操作datetime详情(下)

    Python 时间操作datetime详情(下)

    我们在上一文datetime模块对datetime模块中包含了六个类对象如date、time、datetime等对时间和日期进行操作。这一篇文章我们继续上一篇文章的内容学习datetime模块中六大类的相关方法和属性
    2021-11-11
  • Python机器学习特征重要性分析的8个常用方法实例探究

    Python机器学习特征重要性分析的8个常用方法实例探究

    本文详细介绍8种常用的方法,涵盖了基于决策树、集成学习模型以及统计学方法的特征重要性分析,从决策树模型到SHAP值,深入探讨每种方法的原理和示例,帮助全面了解如何评估特征的重要性,将能更好地理解特征对模型预测的贡献,为提升模型性能和解释模型决策提供有力支持
    2024-01-01
  • 使用python实现unix2dos和dos2unix命令的例子

    使用python实现unix2dos和dos2unix命令的例子

    今天小编就为大家分享一篇使用python实现unix2dos和dos2unix命令的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python 简单的多线程链接实现代码

    python 简单的多线程链接实现代码

    这篇文章主要介绍了python 简单的多线程链接实现代码,需要的朋友可以参考下
    2016-08-08

最新评论