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


Posted in Python onJuly 17, 2019

在嵌入式、尤其是机器人的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实现批量改文件名称的方法
May 25 Python
详解python的ORM中Pony用法
Feb 09 Python
pandas实现选取特定索引的行
Apr 20 Python
tensorflow实现简单的卷积网络
May 24 Python
使用Python检测文章抄袭及去重算法原理解析
Jun 14 Python
Django使用Channels实现WebSocket的方法
Jul 28 Python
Python:slice与indices的用法
Nov 25 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
Jan 19 Python
基于django 的orm中非主键自增的实现方式
May 18 Python
Python 通过正则表达式快速获取电影的下载地址
Aug 17 Python
python生成随机数、随机字符、随机字符串
Apr 06 Python
pandas时间序列之pd.to_datetime()的实现
Jun 16 Python
python  文件的基本操作 菜中菜功能的实例代码
Jul 17 #Python
python对绑定事件的鼠标、按键的判断实例
Jul 17 #Python
Django model update的多种用法介绍
Mar 28 #Python
Django model select的多种用法详解
Jul 16 #Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 #Python
Python split() 函数拆分字符串将字符串转化为列的方法
Jul 16 #Python
python实现字符串完美拆分split()的方法
Jul 16 #Python
You might like
php mysql数据库操作分页类
2008/06/04 PHP
使用PHP静态变量当缓存的方法
2013/11/13 PHP
PHP 前加at符合@的作用解析
2015/07/31 PHP
PHP Trait功能与用法实例分析
2020/06/03 PHP
一端时间轮换的广告
2006/06/26 Javascript
新浪中用来显示flash的函数
2007/04/02 Javascript
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
javascript 模式设计之工厂模式详细说明
2010/05/10 Javascript
如何使用Jquery获取Form表单中被选中的radio值
2013/08/09 Javascript
Javascript毫秒数用法实例
2015/02/05 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
Bootstrap实现弹性搜索框
2016/07/11 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
JS检测window.open打开的窗口是否关闭
2017/06/25 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日 小组赛A组 TNC VS OpTic
2018/03/30 DOTA
Python中字典的setdefault()方法教程
2017/02/07 Python
Python文件操作基本流程代码实例
2017/12/11 Python
Python+树莓派+YOLO打造一款人工智能照相机
2018/01/02 Python
python3.6下Numpy库下载与安装图文教程
2019/04/02 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
详解CSS3中常用的样式【基本文本和字体样式】
2020/10/20 HTML / CSS
基于zepto的插件之移动端无缝向上滚动并上下触摸滑动实例代码
2016/12/20 HTML / CSS
社区服务活动总结
2014/05/07 职场文书
会计求职信范文
2014/05/24 职场文书
大学生个人求职信
2014/06/02 职场文书
学习党章的体会
2014/11/07 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
中秋节祝酒词
2015/08/12 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang