python 텍스트 파일 내용 스 크 립 트 검색 실현
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 로그 파일 에서 검색 결 과 를 볼 수 있 습 니 다.모든 관건 이 어떤 파일 에 존재 하 는 지 하 는 것 이다.모든 파일 의 구체 적 인 경 로 를 알려 줍 니 다.
첨부 파일:소스 코드 및 프로필
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.