2015-02-08 1 views
0
import os 
path = 'C:\\Users\\Kabeer\\Documents\\testdata' 
listing = os.listdir(path) 
for infile in listing: 
    read_f = open(infile) 
    for line in read_f: 
    if 'arch' in line: 
    print(line) 
print ("current file is: " + infile) 

Я поместил все файлы в папку. Я хочу прочитать каждый файл для ключевого слова. Если он содержит ключевое слово, напечатайте имя файла и целое предложение, содержащее ключевое слово.поиск файлов из большого количества файлов для ключевого слова и печать предложения, содержащего ключевое слово, имя файла в python

Я абсолютно новичок в питоне. Вышеупомянутый код также выбирается только на форуме stackoverflow.

Я получаю ошибку. Файл не найден Ошибка read_f = открыть (infile). Нет такого файла или каталога.

Я знаю, что ошибка в цикле. Как поместить каждый файл через цикл? Я также попытался поместить все файлы в список. Но я не могу получить каждый файл и читать из цикла.

Благодаря

Кабир

+0

вывесить значение 'listing' переменной. –

ответ

0

Try использование read_f = open(os.path.join(path,infile))

+0

Он работает для тестовых случаев. Это текстовые файлы. Это остановило мою работу в течение 5 дней. @ Avinash Raj- я не пробовал ваше решение, поскольку листинг не является переменным. –