我有一个正在循环运行的程序。例如,每当我按下键盘上的“ESC”键时,它应该调用一个打印“你按下键 ESC”的函数,并且可能还会执行一些命令。
我试过这个:
from msvcrt import getch
while True:
key = ord(getch())
if key == 27: #ESC
print("You pressed ESC")
elif key == 13: #Enter
print("You pressed key ENTER")
functionThatTerminatesTheLoop()
经过我所有的尝试,msvcrt 似乎在 python 3.3 或其他任何原因中都不起作用。基本上,如何让我的程序在程序运行时的任何时间点对任何按键做出反应?
编辑:另外,我发现了这个:
import sys
while True:
char = sys.stdin.read(1)
print ("You pressed: "+char)
char = sys.stdin.read(1)
但是它需要在命令控制台中输入要重新输入的输入,但是我的循环在 tkinter 中运行,所以我仍然需要一种方法让它在检测到按键后立即执行某些操作。