在while循环中将多行粘贴到raw_input中
我有一些代码,长得像这样:
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 个回答
1
也许你在这里不需要用到 raw_input
?你可以使用 sys.stdin
这个像文件一样的对象。比如可以用 sys.stdin.read
这个方法。
或者你可以用下面这样的方式:
buf.append(line.split('STOP ME\n', 1)[0]+'\n')
来获取在 STOP ME
这一行之前的数据。