作者:到底是谁额额额 | 来源:互联网 | 2023-09-13 06:58
请参阅tty标准模块。它允许使用tty.setcbreak(sys.stdin)从默认的面向行(烹饪)模式切换为面向字符(cbreak)模式。从sys.stdin读取单个字符将导致下一次按下键盘键(如果它生成代码):
import sys
import tty
tty.setcbreak(sys.stdin)
while True:
print ord(sys.stdin.read(1))
注意:解决方案仅适用于Unix(包括Linux)。
编辑:在Windows上尝试msvcrt.getche()
/ getwche()。/
me无处可寻…
编辑2:通过具有功能的ctypes.windll(请参见SO上的示例)使用win32低级控制台APIReadConsoleInput
。您应该过滤掉按键-e.EventType==KEY_EVENT
并寻找e.Event.KeyEvent.wVirtualKeyCode
价值。可以在http://www.benryves.com/tutorials/?t=winconsole&c=4上找到应用程序示例(不是在Python中,只是为了获得一个主意)。