2013-04-03 8 views
-3
found = False 
for i, line in enumerate(file(name, "r")): 
     for key in found_dic: 
       if key in line.strip(): 
+3

И каков ваш реальный вопрос? –

+2

Вы уверены, что у вас нет ваших 'найденных' состояний назад ... Как правило, вы начинаете с того, что Found является false, и установите его true при его обнаружении. – SlxS

+0

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

ответ

0
for i, line in enumerate(file(name, "r")): 
    found = True 
    for key in found_dic: 
     if key in line.strip(): 
      found_dic[key].append("LINE:"+str(i)+":" + line.strip()) 
      found = False 

Я считаю, что этот блок кода должен быть

found = False 
for i, line in enumerate(file(name, "r")):     
    for key in found_dic: 
     if key in line.strip(): 
      found_dic[key].append("LINE: %s: %s" % (i,line.strip())) 
      found = True 

У вас есть ваши found значения перевернутой, означая нашел бы установить только справедливо, когда нет найденных предметов, и наоборот.

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

+0

Да, я пробовал это, но если я исправлю true и false, он не покажет никакого результата. –

+0

Мой плохой, проверьте мой отредактированный ответ :) – SlxS

+0

wow !!! это работает, THX очень !!!!! –

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