实现类似 win 命令行的 getch() 函数
新建py文件
vim getch.py
输入如下内容
import sys, termios
fd = sys.stdin.fileno()
old = termios.tcgetattr(fd)
new = termios.tcgetattr(fd)
# turn off echo and press-enter
new[3] = new[3] & ~termios.ECHO & ~termios.ICANON
try:
termios.tcsetattr(fd, termios.TCSADRAIN, new)
while True:
char = sys.stdin.read(1)
print 'get:', char
if char == 'q': break
finally:
termios.tcsetattr(fd, termios.TCSADRAIN, old)
运行
python getch.py
说明:以上心得若有不足、错误之处欢迎各位指正。