2014-02-10 7 views
0

안녕에 문자열을 검색 내가 파일 목록에서 키워드를 검색에이 코드를 썼다는디렉토리

import glob 
import os 
print "enter directory path" 
path=raw_input() 
print "Enter keyword" 
key=raw_input() 
os.chdir(path) 
for files in glob.glob("*.*"): 
    with open(file) as f: 
     contents=f.read() 
    if key in contents: 
      print file 

나는 사람이 하위에 검색을위한 저 같은 수정 도와주세요 Python.Can 비교적 새로운 오전 디렉토리도 ??

답변

0

사용 os.walk :

for root, dirs, files in os.walk(your_dir_path): 
    for file in files: 
     file = os.path.join(root, file)  
     with open(file) as f: 
      ... 
+0

나는이 일을 시도했지만이 역 추적과 같은 오류 (가장 최근 통화 마지막)을 보여줍니다 파일 "s.py", 10 행, 오픈 (파일)와 같은을 fdf : IOError : [Errno 2] 그런 파일이나 디렉토리가 없습니다 : 'accounts.cfg' – amaluth

+0

그 일을 ... .. 고마워 .. :) – amaluth

+0

리눅스를 사용한다면'subprocess'를 사용하여'grep'을 호출하는 것이 훨씬 빠릅니다. 모듈 – warvariuc