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 struct模块解析
Jun 12 Python
Python使用QRCode模块生成二维码实例详解
Jun 14 Python
Python实现登录接口的示例代码
Jul 21 Python
100行python代码实现跳一跳辅助程序
Jan 15 Python
tensorflow 1.0用CNN进行图像分类
Apr 15 Python
python 快速把超大txt文件转存为csv的实例
Oct 26 Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
Dec 29 Python
python 函数的缺省参数使用注意事项分析
Sep 17 Python
python matplotlib如何给图中的点加标签
Nov 14 Python
keras slice layer 层实现方式
Jun 11 Python
python如何求圆的面积
Jul 01 Python
python对批量WAV音频进行等长分割的方法实现
Sep 25 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仿discuz分页效果代码
2008/10/02 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
PHP setTime 设置当前时间的代码
2012/08/27 PHP
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
JavaScript 面向对象编程(2) 定义类
2010/05/18 Javascript
对jQuery的事件绑定的一些思考(补充)
2013/04/20 Javascript
关于Javascript作用域链的八点总结
2013/12/06 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
2014/06/13 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
JavaScript 总结几个提高性能知识点(推荐)
2017/02/20 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
基于js中的原型(全面讲解)
2017/09/19 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
JavaScript实现多球运动效果
2020/09/07 Javascript
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
Python使用redis pool的一种单例实现方式
2016/04/16 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
python实现事件驱动
2018/11/21 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
HTML5 Canvas 起步(2) - 路径
2009/05/12 HTML / CSS
美国猫狗药物和用品网站:PetCareRx
2017/01/05 全球购物
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
空字符串(“”)和null的区别
2012/11/13 面试题
实体的生命周期
2013/08/31 面试题
2014年五四青年节演讲比赛方案
2014/04/22 职场文书
离职证明范本(5篇)
2014/09/19 职场文书
《青山不老》教学反思
2016/02/22 职场文书
如何在Python中妥善使用进度条详解
2022/04/05 Python