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


Posted in Python onOctober 21, 2018

处理过滤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 相关文章推荐
python函数参数*args**kwargs用法实例
Dec 04 Python
Python 异常处理实例详解
Mar 12 Python
Python简单连接MongoDB数据库的方法
Mar 15 Python
Python实现模拟登录网易邮箱的方法示例
Jul 05 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
Oct 18 Python
python用post访问restful服务接口的方法
Dec 07 Python
Django Rest framework之权限的实现示例
Dec 17 Python
Python使用MyQR制作专属动态彩色二维码功能
Jun 04 Python
Python数据可视化:顶级绘图库plotly详解
Dec 07 Python
浅谈pandas dataframe对除数是零的处理
Jul 20 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
Jul 30 Python
Python实现疫情地图可视化
Feb 05 Python
Python用5行代码写一个自定义简单二维码
Oct 21 #Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
Oct 21 #Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
Oct 21 #Python
用Django写天气预报查询网站
Oct 21 #Python
Django中数据库的数据关系:一对一,一对多,多对多
Oct 21 #Python
python高效过滤出文件夹下指定文件名结尾的文件实例
Oct 21 #Python
Python根据文件名批量转移图片的方法
Oct 21 #Python
You might like
PHP 危险函数全解析
2009/09/09 PHP
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
关于PHP开发的9条建议
2015/07/27 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
2019/08/12 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
jquery select选中的一个小问题
2009/10/11 Javascript
JavaScript 组件之旅(三):用 Ant 构建组件
2009/10/28 Javascript
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
JS 类型转换常见方法小结
2010/05/31 Javascript
js下通过prototype扩展实现indexOf的代码
2010/12/08 Javascript
对xmlHttp对象的理解
2011/01/17 Javascript
jQuery学习笔记之控制页面实现代码
2012/02/27 Javascript
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
jquery插件corner实现圆角边框的方法
2015/03/09 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
vue 2.0路由之路由嵌套示例详解
2017/05/08 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
[49:12]完美世界DOTA2联赛PWL S2 Magma vs GXR 第二场 11.29
2020/12/02 DOTA
[08:38]DOTA2-DPC中国联赛 正赛 VG vs Elephant 选手采访
2021/03/11 DOTA
videocapture库制作python视频高速传输程序
2013/12/23 Python
Python3实现生成随机密码的方法
2014/08/23 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
django用户登录和注销的实现方法
2018/07/16 Python
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
Under Armour西班牙官网:美国知名的高端功能性运动品牌
2018/12/12 全球购物
解释一下钝化(Swap out)
2016/12/26 面试题
《春天来了》教学反思
2014/04/07 职场文书
大学生就业自荐书
2014/06/16 职场文书
政府四风问题整改措施
2014/10/04 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
Win11 KB5015814遇安装失败 影响开始菜单性能解决方法
2022/07/15 数码科技