不按下回车键即可读取任何按下的键
- 论坛
- 不按下回车键即可读取任何按下的键
17 浏览
不按下回车键即可读取任何按下的键
我需要读取用户按下的键,而无需等待回车键。
我想要读取字符和箭头键。
我使用的解决方案与该主题相同。
import sys,tty,termios def getch(): fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(3) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch while(1): k=getch() if k=='\x1b[A': print "上" elif k=='\x1b[B': print "下" elif k=='\x1b[C': print "右" elif k=='\x1b[D': print "左"
如果我想要读取箭头键,我使用ch = sys.stdin.read(3)
,如果我想要读取单个字符,我使用ch = sys.stdin.read(1)
,但我需要读取两种类型的键。
剩下的脚本是用Python 2.7编写的,将在Linux系统上运行。
因为我不是系统管理员,请不要建议安装新包。