python re 正则表达式实例

#!/usr/bin/env python
# -*- coding:  utf-8  -*-
#Filename: file_process.py
#function:
#author: 刘红波
#date:   2012-05-07

import glob
import os
import re


#日志文件目录
v_log_dir = '/etl/aiinsight/bin/py'

#目标文件
f_tab1 = open('/etl/aiinsight/bin/py/tab_into_tab.txt','w')
f_tab2 = open('/etl/aiinsight/bin/py/tab_into_insert.txt','w')


os.chdir(v_log_dir)


#显示指定类型文件

#查询正则表达式
p1 = re.compile('WWNEW\.[\w]+|DW\.[\w]+|REPORT\.[\w]+|TBOWNER\.[\w]+')
p2 = re.compile('INSERT[\s]+INTO[\s]+WWNEW\.[\w]+|INSERT[\s]+INTO[\s]+DW\.[\w]+|INSERT[\s]+INTO[\s]+REPORT\.[\w]+|INSERT[\s]+INTO[\s]+TBOWNER\.[\w]+')

for v_file in glob.glob('*.log'):   
    f = open(v_file)
    for line in f:
        for v_tab in p1.findall(line.upper()):         
            f_tab1.write(v_file + ',' + v_tab + '\n')
        for v_tab in p2.findall(line.upper()):         
            f_tab2.write(v_file + ',' + v_tab + '\n')
    f.close()       

f_tab1.close()
f_tab2.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值