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基于列表模拟堆栈和队列功能。分享给大家供大家参考,具体如下: 之前的文章/post/59897.htm介绍了堆栈与队列的Python实现方法,这里使用列表来模拟...

Python开发WebService系列教程之REST,web.py,eurasia,Django

在Bioinformatics(生物信息学)领域,WebService是很重要的一种数据交换技术,未来必将更加重要。目前EBI所提供的WebService就分别有SOAP和REST两种方...

浅谈python下含中文字符串正则表达式的编码问题

浅谈python下含中文字符串正则表达式的编码问题

前言 Python文件默认的编码格式是ascii ,无法识别汉字,因为ascii码中没有中文。 所以py文件中要写中文字符时,一般在开头加 # -*- coding: utf-8 -*-...

Python常用的json标准库

当请求 headers 中,添加一个name为 Accept,值为 application/json 的 header(也即“我”(浏览器)接收的是 json 格式的数据),这样,向服务...

pandas 对group进行聚合的例子

如下所示: DataFrameGroupBy.agg(arg, *args, **kwargs) 例子: >>> df = pd.DataFrame({'A...