Python вставляет мультилинии в raw_input в цикле while - PullRequest
0 голосов
/ 28 ноября 2011

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

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

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

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

line1

line2

STOP ME

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

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

Какой-то ненужный текст

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

1 Ответ

1 голос
/ 28 ноября 2011

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

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

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

, чтобы получить данные до STOP ME строки.

...