【python学习笔记】实现linux终端下的getch()函数

实现类似 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  

说明:以上心得若有不足、错误之处欢迎各位指正。

你可能感兴趣的:(python)