Сравнение строк Python не соответствует строке, прочитанной из файла
У меня есть текстовый файл с ключевыми словами в каждой строке, например:
foo
foo1
^^^^^^^^^
foo5
foo7
^^^^^^^^^
установлен ли флаг для разрыва цикла for после достижения:
keywords = []
with open("keywords.txt") as f:
for line in f:
if line.startswith(request.GET.get('search', '')):
keywords.append(line.lower())
if line == "^^^^^^^^^":
break
В приведенном выше коде второе условие никогда не выполняется (**if line == "^^^^^^^^^":**
).
Я тоже пробовал is
вместо ==
(но не ожидал, что это сработает, и это не так).
Когда я пытался line.startswith("^^^^^^"):
, условие выполнено, и цикл завершен. Мне интересно почему ==
не работает в вышеуказанном случае.
Ищу направление и объяснение.
1 ответ
Решение
Возможно, в конце строки есть разрыв строки или другой пробел, поэтому ==
не сработает, если вы сначала не урежете его:
if line.strip() == "^^^^^^^^^":