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中的25个隐藏特性
Mar 30 Python
python轻松查到删除自己的微信好友
Jan 10 Python
python实现分页效果
Oct 25 Python
tensorflow获取变量维度信息
Mar 10 Python
单利模式及python实现方式详解
Mar 20 Python
Python切片工具pillow用法示例
Mar 30 Python
django框架实现一次性上传多个文件功能示例【批量上传】
Jun 19 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
Dec 03 Python
python3.8与pyinstaller冲突问题的快速解决方法
Jan 16 Python
Django中F函数的使用示例代码详解
Jul 06 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
Oct 18 Python
Python datetime模块的使用示例
Feb 02 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
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
使用apache模块rewrite_module (转)
2007/02/14 PHP
UCenter 批量添加用户的php代码
2012/07/17 PHP
php一些错误处理的方法与技巧总结
2013/08/10 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
Nigma vs AM BO3 第一场2.13
2021/03/10 DOTA
javascript 必知必会之closure
2009/09/21 Javascript
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
基于jquery实现的树形菜单效果代码
2015/09/06 Javascript
JavaScript仿商城实现图片广告轮播实例代码
2016/02/06 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
Typescript的三种运行方式(小结)
2019/09/18 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
javascript实现简单搜索功能
2020/03/26 Javascript
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
[01:29:17]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
理解生产者消费者模型及在Python编程中的运用实例
2016/06/26 Python
wxPython实现绘图小例子
2019/11/19 Python
python3中rank函数的用法
2019/11/27 Python
python将三维数组展开成二维数组的实现
2019/11/30 Python
解决Pycharm 导入其他文件夹源码的2种方法
2020/02/12 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
Python利用命名空间解析XML文档
2020/08/10 Python
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
美的官方商城:Midea
2016/09/14 全球购物
Lyle & Scott苏格兰金鹰官网:英国皇室御用品牌
2018/05/09 全球购物
专科毕业生就业推荐信
2013/11/01 职场文书
cf搞笑广告词
2014/03/14 职场文书
党员个人对照检查材料
2014/10/01 职场文书
西湖英语导游词
2015/02/06 职场文书
2015年乡镇卫生院妇幼保健工作总结
2015/05/19 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
java获取一个文本文件的编码(格式)信息
2022/09/23 Java/Android