Я обнаружил, что встроенный ввод захватывает все, что есть в stdin, еще до того, как выполнить его.Например:
import time
for n in range(5):
time.sleep(1)
# write now something, during the loop
example = input('input something: ')
print("you have written {}".format(example))
Попытка сброса stdin модулем sys перед вводом захвата не работает, потому что, например, если вы нажмете «ENTER», это все равно будет записано:
import time, sys
for n in range(5):
time.sleep(1)
# write now something, during the loop
sys.stdin.flush()
example = input('input something: ')
print("you have written {}".format(example))
Как мне избежать такого поведения и начать захватывать стандартный ввод только при выполнении оператора "input"?