Как открыть все файлы .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 

3 Solutions collect form web for “Как открыть все файлы .txt и .log в текущем каталоге, найти и распечатать файл, в котором был найден поиск”

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

 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 .

  • Файл обновления Python с диска
  • Чтение из файла журнала, когда оно записывается с использованием python
  • Неблокирование чтения из нескольких подпроцессов (Python)
  • Разница между io.open и open в python
  • Python Поиск строки и печать файла, в котором он находится
  • Как написать конкретную строку в файле в Python?
  • Эффективное чтение XML-файла объемом 800 ГБ в Python 2.7
  • добавление существующей строки в txt-файл
  • Python - лучший язык программирования в мире.