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使用win32com库播放mp3文件的方法
May 30 Python
详解Django中的过滤器
Jul 16 Python
Python编程pygame模块实现移动的小车示例代码
Jan 03 Python
python在线编译器的简单原理及简单实现代码
Feb 02 Python
Python3.x爬虫下载网页图片的实例讲解
May 22 Python
在python中将字符串转为json对象并取值的方法
Dec 31 Python
利用pyinstaller打包exe文件的基本教程
May 02 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
Jul 04 Python
pytorch获取vgg16-feature层输出的例子
Aug 20 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
详解python tcp编程
Aug 24 Python
python 逐步回归算法
Apr 06 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 中文和编码判断代码
2010/05/16 PHP
php中的观察者模式简单实例
2015/01/20 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
javascript的函数
2007/01/31 Javascript
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
ECMAScript6中Map/WeakMap详解
2015/06/12 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
基于jquery实现智能提示控件intellSeach.js
2016/03/17 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
2017/04/06 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
微信小程序实现随机验证码功能
2018/12/20 Javascript
vue-router实现编程式导航的代码实例
2019/01/19 Javascript
Vue中对iframe实现keep alive无刷新的方法
2019/07/23 Javascript
Vue中el-form标签中的自定义el-select下拉框标签功能
2020/04/20 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
python插入排序算法的实现代码
2013/11/21 Python
浅谈scrapy 的基本命令介绍
2017/06/13 Python
Python批量生成特定尺寸图片及图画任意文字的实例
2019/01/30 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
python中os.remove()用法及注意事项
2021/01/31 Python
PHP如何调用MYSQL存储过程
2014/05/30 面试题
中间件分为哪几类
2012/03/14 面试题
毕业生求职自荐信怎么写
2014/01/08 职场文书
2014教师教育实践活动对照检查材料思想汇报
2014/09/21 职场文书
通知格式
2015/04/27 职场文书
2015年大学辅导员工作总结
2015/05/12 职场文书
创业计划书之服装
2019/10/07 职场文书
教你修复 Win11应用商店加载空白问题
2021/12/06 数码科技