python input() 在 input() 被调用之前采用旧的标准输入

Python3input()似乎在两次调用之间采用旧的 std 输入input()。有没有办法忽略旧输入,只接受新输入(在input()被调用后)?


import time


a = input('type something') # type "1"

print('\ngot: %s' % a)


time.sleep(5) # type "2" before timer expires


b = input('type something more')

print('\ngot: %s' % b)

输出:


$ python3 input_test.py

type something

got: 1


type something more

got: 2


交互式爱情
浏览 293回答 1
1回答

哆啦的时光机

您可以在第二个之前刷新输入缓冲区input(),就像这样import timeimport sysfrom termios import tcflush, TCIFLUSHa = input('type something') # type "1"print('\ngot: %s' % a)time.sleep(5) # type "2" before timer expirestcflush(sys.stdin, TCIFLUSH) # flush input streamb = input('type something more')print('\ngot: %s' % b)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python