gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 08:06:04 27 4
gpt4 key购买 nike

Python3 的 input() 似乎在两次调用 input() 之间采用旧的 std 输入。有没有办法忽略旧输入,只接受新输入(在 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

最佳答案

您可以在第二个 input() 之前刷新输入缓冲区,如下所示

import time
import sys
from termios import tcflush, TCIFLUSH

a = input('type something') # type "1"
print('\ngot: %s' % a)

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

tcflush(sys.stdin, TCIFLUSH) # flush input stream

b = input('type something more')
print('\ngot: %s' % b)

关于python input() 在调用 input() 之前采用旧的标准输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55525716/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com