d1mpi
@d1mpi
Кто куда, а я в Python

Почему if не видит слово?

with Popen([sys.executable, '-u', 'executer/__main__.py', f'{address} {filename}'],
               stdout=PIPE, universal_newlines=True) as process:
        for line in process.stdout:
            print(line)
            if line == 'stock':
                return


print выводит stock, но сама проверка его не видит, пробовал find, но тоже без результата.
isinstance говорит, что это string, в чем тогда проблема?
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
1na1
@1na1
Hello, world!
Скорее всего в конце строки "прилип" перенос корретки. Простым решением может быть str.rstrip():

# if line == 'stock': # Убрать
if line.rstrip() == 'stock': # Добавить


Вообще пользуйся дебагером pycharm или другим аналогичным и все встанет на свои места, не гадай при помощи print.

Если с использованием дебагера проблемы — попробуй использовать такой print. Он покажет метки по границам слова и будет видно что в нем не так.

# print(line)  # убрать
print(">%s<" % line) # добавить
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы