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的Flask框架结合MySQL写一个内存监控程序

用Python的Flask框架结合MySQL写一个内存监控程序

这里以监控内存使用率为例,写的一个简单demo性程序,具体操作根据51reboot提供的教程写如下。 一、建库建表 创建falcon数据库: mysql> create dat...

基于Python的文件类型和字符串详解

基于Python的文件类型和字符串详解

1. Python的文件类型 1. 源代码--直接由Python解析 vi 1.py #!/usr/bin/python print 'hello world' 这里的1.py...

在numpy矩阵中令小于0的元素改为0的实例

如下所示: >>> import numpy as np >>> a = np.random.randint(-5, 5, (5, 5)) >...

Tensorflow加载预训练模型和保存模型的实例

使用tensorflow过程中,训练结束后我们需要用到模型文件。有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练。这时候我们需要掌握如何操作这些模型数据。看完本文,相信...

跟老齐学Python之啰嗦的除法

除法啰嗦的,不仅是python。 整数除以整数 看官请在启动idle之后,练习下面的运算: >>> 2/5 0 >>> 2.0/5 0.4 >...