我的代码如下:
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不同的键,它也只输出第三个按键。
我怎样才能让它跑得更快?有没有更好的方法来实现我想要实现的目标?
谢谢!
评估ID
在循环中调用函数3次。试着这样叫它一次:
您还可以使用
msvcrt.kbhit
函数来稍微优化一些内容,该函数将允许您仅在必要时调用msvcrt.getch()
:注意,打印的
Key Pressed
值对于函数键之类的东西没有意义。这是因为在这种情况下,它实际上是键的Windowsscan code,而不是字符的常规键代码。相关问题 更多 >
编程相关推荐