python实例31[解析buildlog]

 

简单地解析VisualStudio的buildlog:(有的时候log文件太长,但是我们只是关心warning和error, 通过该程序可以直接得到所有的warning和error的行)

import  re

warninglist 
=  []
warninglist.append(
" warning C\d{4} " )

errorlist 
=  []
errorlist.append(
" error LNK\d{4} " )
errorlist.append(
" error C\d{4} " )

def  Parse(logfile, regexlist):
  resultlines 
=  []
  with open(logfile, 
" r " ) as log:
    
for  line  in  log:
      
for  regex  in  regexlist:
        m 
=  re.search(regex, line)
        
if  m:
          resultlines.append(line)
  
return  resultlines

def  ParseWarning(logfile):
  warnings 
=  []
  warnings 
=  Parse(logfile, warninglist)
  
return  warnings
  
def  ParseError(logfile):
  errors 
=  []
  errors 
=  Parse(logfile, errorlist)
  
return  errors

ws 
=  ParseWarning( " buildlog.txt " )
print " warnings: "   +  str(len(ws)))
for  w  in  ws:
  
print  (w)
es 
=  ParseError( " buildlog.txt " )
print " errors: "   +  str(len(es)))
for  e  in  es:
  
print (e)

 

继续改进中。。。

 

完!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值