我的代码如下:
import msvcrt
while True:
if msvcrt.getch() == 'q':
print "Q was pressed"
elif msvcrt.getch() == 'x':
sys.exit()
else:
print "Key Pressed:" + str(msvcrt.getch()
此代码基于 this question ;我用它来熟悉
getch
。我注意到需要 3 次按键 3 次才能输出一次文本。为什么是这样?我正在尝试将它用作事件循环,这太滞后了......
即使我输入 3 个不同的键,它也只输出第三个按键。
我怎样才能强制它走得更快?有没有更好的方法来实现我想要实现的目标?
谢谢!
万维网
最佳答案
您在循环中调用该函数 3 次。尝试像这样只调用一次:
import msvcrt
while True:
pressedKey = msvcrt.getch()
if pressedKey == 'q':
print "Q was pressed"
elif pressedKey == 'x':
sys.exit()
else:
print "Key Pressed:" + str(pressedKey)
关于Python Windows `msvcrt.getch()` 只检测每 3 次按键?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22365473/