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 相关文章推荐
在python3环境下的Django中使用MySQL数据库的实例
Aug 29 Python
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
python 高效去重复 支持GB级别大文件的示例代码
Nov 08 Python
Win10下Python3.7.3安装教程图解
Jul 08 Python
python基础教程之while循环
Aug 14 Python
Win下PyInstaller 安装和使用教程
Dec 25 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
Python JSON编解码方式原理详解
Jan 20 Python
Python多线程实现支付模拟请求过程解析
Apr 21 Python
Python可以实现栈的结构吗
May 27 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
python3实现无权最短路径的方法
May 12 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&&mysql)三
2006/10/09 PHP
深入PHP FTP类的详解
2013/06/13 PHP
php调用shell的方法
2014/11/05 PHP
PHP模板引擎Smarty内置变量调解器用法详解
2016/04/11 PHP
PHP转换文本框内容为HTML格式的方法
2016/07/20 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
Yii框架小部件(Widgets)用法实例详解
2020/05/15 PHP
php命令行模式代码实例详解
2021/02/26 PHP
Visual Studio中的jQuery智能提示设置方法
2010/03/27 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
通过jQuery源码学习javascript(一)
2012/12/27 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
JS实现alert中显示换行的方法
2015/12/17 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
在vue中获取dom元素内容的方法
2017/07/10 Javascript
微信小程序自定义多列选择器使用详解
2019/06/21 Javascript
Django的URLconf中使用缺省视图参数的方法
2015/07/18 Python
轻松掌握python设计模式之策略模式
2016/11/18 Python
python3读取excel文件只提取某些行某些列的值方法
2018/07/10 Python
Flask-Mail用法实例分析
2018/07/21 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
C/C++程序员常见面试题一
2012/12/08 面试题
介绍一下.net和Java的特点和区别
2012/09/26 面试题
演讲比赛获奖感言
2014/02/02 职场文书
幼儿园中班下学期评语
2014/04/18 职场文书
大学生实训报告总结
2014/11/05 职场文书
五年级学生评语大全
2014/12/26 职场文书
特岗教师个人总结
2015/02/10 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL