我在 64 位 Windows 7 上运行 python 2.7。
这是我正在执行的代码:
import sys
while True:
print 'please enter a character:'
c = sys.stdin.read(1)
print 'you entered', str(c)
在 Eclipse 的 PyDev 环境中,我得到以下输入 a 和 b 的输出。
please enter a character:
a
you entered a
please enter a character:
you entered
please enter a character:
you entered
please enter a character:
b
you entered b
please enter a character:
you entered
please enter a character:
you entered
please enter a character:
它正确地获取一次输入,然后执行两次跳过用户输入。
现在,当我在 python 终端中为输入 a 和 b 运行相同的代码时,我得到以下输出:
enter char
a
you entered a
enter char
you entered
enter char
b
you entered b
enter char
you entered
enter char
这在获得用户输入和跳过用户输入后执行。
什么会导致这个问题?如何让 Python 在无限循环中一次读取一个字符?