用Python遍历文件并搜索文件内容

上一次用Python的2种方法遍历文件,这次参考了一下Python Promgramming  3rd 里面的代码,用os.path.walk来遍历文件,并且搜索文件里面的内容

search_content.py
import  os, sys
listonly 
=  False
skipexts 
=  [ ' .gif ' ' .exe ' ' .pyc ' ' .o ' ' .a ' , ' .dll ' , ' .lib ' , ' .pdb ' , ' .mdb ' ]         #  ignore binary files
     
def  visitfile(fname, searchKey):                        #  for each non-dir file
     global  fcount, vcount                              
      
try :
        
if   not  listonly:
            
if  os.path.splitext(fname)[ 1 in  skipexts:
                
pass
            
elif  open(fname).read().find(searchKey)  !=   - 1 :
                
print ' %s has %s '   %  (fname, searchKey)
                fcount 
+=   1
    
except pass
    vcount 
+=   1  
    
def  visitor(args, directoryName,filesInDirectory):      #  called for each dir 
     for  fname  in  filesInDirectory:                   
        fpath 
=  os.path.join(directoryName, fname)    
        
if   not  os.path.isdir(fpath):                   
            visitfile(fpath,args)
     
def  searcher(startdir, searchkey):
    
global  fcount, vcount
    fcount 
=  vcount  =  0
    os.path.walk(startdir, visitor, searchkey)
     
if   __name__   ==   ' __main__ ' :
    root
= raw_input( " type root directory: " )
    key
= raw_input( " type key: " )
    searcher(root,key)
    
print   ' Found in %d files, visited %d '   %  (fcount, vcount)

windows调试通过!
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值