2014-02-10 2 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

Я попробовал это один, но он показывает ошибку, как этот TraceBack (самый последний вызов последнего): Файл «s.py», строка 10, в с открытым (файлом) в виде fdf: IOError: [Errno 2] Нет такого файла или каталога: 'accounts.cfg' – amaluth

+0

, который сработал .. !! спасибо .. :) – amaluth

+0

Если вы используете linux, гораздо быстрее вызывать 'grep' с помощью' subprocess' module – warvariuc

Смежные вопросы