使用python递归子目录处理日志文件

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

重要说明:

(1)python使用4个空格进行层次缩进的(不是tab),在eclipse里面可以直接使用tab缩进,是因为eclipse会实时地将tab转成4个空格

(2)在eclipse中安装pyDev插件,就可以调试python脚本了

(3)如果在python文件中存在中文字符,需要在python文件的开头处指明文件的编码类型,形式如:#coding=gbk

(4)以下代码使用的是python2.7.3版本

+++++++++ main.py +++++++++

#coding=gbk#filename : main.py#author : kekec#date : 20140813importos,sysimportfiledirimportfilter

file_suffix='*.txt'root_path='F:\\新建文件夹\\20140714'result_path= unicode('result.txt',"utf8")

wfile= open(result_path,'w')foriinfiledir.search_file(file_suffix, root_path):PRinti

bfile=False;

rfile= open(i,'r')while1:

line=rfile.readline()ifnotline:

breakif(False ==filter.is_filter(line)):if(False ==bfile):

wfile.write(i)

wfile.write('\n')

bfile=Trueprintline

wfile.write(line)

wfile.flush()

rfile.close()

wfile.close()

+++++++++ filedir.py +++++++++

#coding=gbk#filename : filedir.py#author : kekec#date : 20140813importos,sys,fnmatchdefsearch_file(pattern="*.txt", root=os.curdir):forpath, dirs, filesinos.walk(os.path.abspath(root)):forfilenameinfnmatch.filter(files, pattern):yieldos.path.join(path, filename)

+++++++++ filter.py +++++++++

#coding=gbk#filename : filter.py#author : kekec#date : 20140813ALOG_0='[ERROR]'BLOG_0='OnGameUpdateDB'CLOG_0='Field25'DLOG_0='execute'ELOG_0='failed'defis_filter(line):

a= line.find(ALOG_0) >=0

b= line.find(BLOG_0) >=0

c= line.find(CLOG_0) >=0

d= line.find(DLOG_0) >=0

e= line.find(ELOG_0) >=0return(aandbandcanddande)

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航