python 텍스트 파일 내용 스 크 립 트 검색 실현

이 글 은 python 으로 이 루어 진 로 컬 텍스트 파일 내용 을 검색 하 는 애플 릿 을 소개 합 니 다.Python I/O 에 대한 지식 을 배 웁 니 다.코드 는 다음 과 같 습 니 다:

import os

#             
def endWith(s,*endstring):
 array = map(s.endswith,endstring)
 if True in array:
  return True
 else:
  return False

#                    result.log   
def writeResultLog(allExistsKeywords):
 #    
 ls = os.linesep
 #       
 logfilename = "result.log" #    ,   .py        
 try:
  fobj = open(logfilename,'w')
 except IOError,e:
  print "*** file open error:",e
 else:
  fobj.writelines(['%s%s' % (keyword,ls) for keyword in allExistsKeywords])
  fobj.close() 


#                  
def searchFilesContent(dirname):
 # searchkeywords.txt              
 filename = "searchkeywords.txt" #    ,   .py        
 #        
 allSearchKeywords=[]
 #                 
 existsKeywordsThisLine=[]
 #            
 allExistsKeywords=[]

 try:
  fobj = open(filename,'r');
 except IOError,e:
  print "*** file open error:",e
 else:
  for eachLine in fobj:
   allSearchKeywords.append(eachLine.strip('
')); # strip fobj.close(); # excludekeywords.txt filename = "excludekeywords.txt" # , .py # allExcludedKeywords=[] try: fobj = open(filename,'r'); except IOError,e: print "*** file open error:",e else: for eachLine in fobj: allExcludedKeywords.append(eachLine.strip('
')); # strip fobj.close(); # for excluedkw in allExcludedKeywords: if(excluedkw in allSearchKeywords): allSearchKeywords.remove(excluedkw); # , , for root,dirs,files in os.walk(dirname): for file in files: if endWith(file,'.java','.xml','.properties'): # .java/.xml/.properties # filename = root + os.sep + file # filename = filename.replace("\\","\\\\") # , ,replace "\\" ,"\\\\" try: fobj = open(filename,'r'); except IOError,e: print "*** file open error:",e else: # for fileLine in fobj: # for keyword in allSearchKeywords: # , if keyword.upper() in fileLine.upper(): # existsKeywordsThisLine.append(keyword) # , for keyword in existsKeywordsThisLine: allExistsKeywords.append(keyword+"\t"+filename.replace("\\\\","\\")) # ( ) for keyword in existsKeywordsThisLine: allSearchKeywords.remove(keyword) # existsKeywordsThisLine = [] # , , if len(allSearchKeywords)==0: fobj.close(); writeResultLog(allExistsKeywords) print "DONE!", return fobj.close(); # writeResultLog(allExistsKeywords) print "DONE!", # python , , python , if __name__ == '__main__': searchFilesContent(r"G:\ccsSmartPipe\SmartPipe\src\java")
1.필 자 는 이 프로그램 을 사용 하여 자바 프로젝트 의 원본 파일 내용 을 키워드 로 검색 합 니 다.프로그램 은 이 프로젝트 의 로 컬 파일 시스템 경로 G:\ccsSmartPipe\\SmartPipe\\src\자바 에 참 여 됩 니 다.
2.설정 파일 에 검색 할 여러 키 워드 를 searchkeywords.txt 에 입력 하 십시오.

3.설정 파일 에 excludekeywords.txt 를 searchkeywords 에 입력 합 니 다.

4.프로그램 이 실행 되면 result.log 로그 파일 에서 검색 결 과 를 볼 수 있 습 니 다.모든 관건 이 어떤 파일 에 존재 하 는 지 하 는 것 이다.모든 파일 의 구체 적 인 경 로 를 알려 줍 니 다.

첨부 파일:소스 코드 및 프로필
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기