对于我正在处理的 Python 项目,我需要告诉用户插入一个字符并以 ASCII 代码返回其值,而无需按 enter 键提交 key 。
它还必须仅当我的程序是事件应用程序时才读取输入,否则它什么都不做(就像 Windows 中的 getch())。操作系统是 OS X。
请您参考如下方法:
通常,数据在换行后在标准输入中可用。
因此您需要将标准输入设置为“原始模式”。 这是一个 python 程序,它将从原始 tty 读取按键。 它在按下 16 次后停止,因为 Ctrl-C 也未处理。
import sys
import termios
import tty
attr = termios.tcgetattr( sys.stdin )
tty.setraw( sys.stdin )
for i in range(16) :
d = sys.stdin.read(1)
print ord( d[0] )
print "\r",
termios.tcsetattr( sys.stdin, termios.TCSADRAIN, attr )
