Как открыть все файлы .txt и .log в текущем каталоге, найти и распечатать файл, в котором был найден поиск

Я пытаюсь найти строку во всех текстовых и журнальных файлах в текущем каталоге. И если он находит совпадение, распечатайте текст или файл журнала, где было найдено совпадение. Возможно ли это, и как я могу манипулировать приведенным ниже кодом для выполнения этой задачи?

fiLe = open(logfile, "r") userString = raw_input("Enter a string name to search: ") for line in fiLe.readlines(): if userString in line: print line 

Что-то вроде этого:

 import os directory = os.path.join("c:\\","path") for root,dirs,files in os.walk(directory): for file in files: if file.endswith(".log") or file.endswith(".txt"): f=open(file, 'r') for line in f: if userstring in line: print "file: " + os.path.join(root,file) break f.close() 

Он попросил плоский readdir, а не для рекурсивного дерева файлов. os.listdir () выполняет эту работу.

Вам нужно сделать это на Python? В противном случае будет работать только grep -l "string" *.txt *.log .