Python вставляет мультилинии в raw_input в цикле while

У меня какой-то код выглядит так:

while line != '' and line != 'STOP ME':
    line = raw_input("")
    buf.append(line+'\n')

sys.stdin.flush()
print raw_input("Input1:")
print raw_input("Input2:")

Проблема в том, что если пользователь скопирует и вставит данные следующим образом

строка 1

line2

ОСТАНОВИ МЕНЯ

"пустая строка"

"пустая строка"

Некоторый ненужный текст

Мой raw_input будет переполнен ненужным текстом после "STOP ME". Есть ли способ избежать этого?

1 ответ

Решение

Может быть, вам не нужно raw_input Вот? Ты можешь использовать sys.stdin файлоподобный объект. Например sys.stdin.read метод.

Или вы можете использовать что-то вроде этого:

buf.append(line.split('STOP ME\n', 1)[0]+'\n')

чтобы получить данные раньше STOP ME линия.

Другие вопросы по тегам