Skip to main content
 首页 » 编程设计

python之如何在 Python 中从 OS X 上的标准输入返回字符

2025年05月04日9EasonJim

对于我正在处理的 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 )