2012-06-26 2 views
2
for line in f.readlines(): 
    if(line == "Open Ended Schemes(Balanced)") : 
     print "found" 

Текст моих данных - информация о взаимном фонде, предоставленная this ссылка.python parsing: String Сравнительный вопрос

Когда я нахожу «Open Ended Schemes», я хочу выполнить некоторый код. Проблема: == Оператор не работает здесь. Я пробовал некоторые комбинации с line.rsplit(), но не смог.

Я новичок в Python

ответ

3

The readlines() в питоне оставляет символ новой строки в конце каждой строки. Просто измените его

for line in f.readlines(): 
    if(line == "Open Ended Schemes(Balanced)\n") : 
     print "found" 

В качестве альтернативы, вы можете лишить символ новой строки из вашей строки строки перед проверкой:

for line in f.readlines(): 
    if(line[:-1] == "Open Ended Schemes(Balanced)") : 
     print "found" 

Это должно работать.

+1

Проблема с 'line [: - 1]' заключается в том, что он всегда удаляет последний символ, но последняя строка может не заканчиваться символом '' \ n "'. Вместо этого безопаснее использовать 'line.rstrip (" \ n ")'. – MRAB

+0

Спасибо! Это сработало :) – Ajax