python实时检测键盘输入函数的示例

yipeiwu_com7年前Python基础

在嵌入式、尤其是机器人的python编程中,经常需要实时检测用户的键盘输入来随时控制机器人,这段代码可以帮助我们提取用户输入的字符,并在按下键盘的时候作出反应。

import sys
import tty
import termios

def readchar():
  fd = sys.stdin.fileno()
  old_settings = termios.tcgetattr(fd)
  try:
    tty.setraw(sys.stdin.fileno())
    ch = sys.stdin.read(1)
  finally:
    termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
  return ch

def readkey(getchar_fn=None):
  getchar = getchar_fn or readchar
  c1 = getchar()
  if ord(c1) != 0x1b:
    return c1
  c2 = getchar()
  if ord(c2) != 0x5b:
    return c1
  c3 = getchar()
  return chr(0x10 + ord(c3) - 65)

while True:
  key=readkey()
  if key=='w':
    #go_forward()
  if key=='a':
    #go_back()
  if key=='s':
    #go_left()
  if key=='d':
  	#go_right()
  if key=='q':
  	break

key = readkey()即可使用

以上这篇python实时检测键盘输入函数的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python内置方法实现字符串的秘钥加解密(推荐)

Python内置方法实现字符串的秘钥加解密(推荐)

在实际编程开发中,我们会使用到各类的加密算法来对数据和信息进行加密。比如密码中比较常见的MD5加密,以及AES加密等等。 对于密码认证来说,MD5加密是比较适合的,因为其不需要接触到明文...

Python的多维空数组赋值方法

Python里面的list、tuple默认都是一维的。 创建二维数组或者多维数组也是比较简单。 可以这样: list1 = [1,2,] list1.append([3,4,])...

Python处理JSON时的值报错及编码报错的两则解决实录

1、ValueError: Invalid control character at: line 1 column 8363 (char 8362) 使用json.loads(json_...

Laravel+Dingo/Api 自定义响应的实现

在最近的开发开发项目中,我使用了Dingo/Api这个第三方Api库。 Dingo是个很强大的Api库, 但在开发的过程中,需要自定义响应字段。 刚开始使用Ding/Api时,返回如下...

python读写LMDB文件的方法

python读写LMDB文件的方法

LMDB的全称是Lightning Memory-Mapped Database(快如闪电的内存映射数据库),它的文件结构简单,包含一个数据文件和一个锁文件: LMDB文件可以同时由多...