Python中用keyboard库实现监听用户输入
Python中用keyboard库实现监听用户输入
- 前言
- 一、keyboard库
- 二、使用示例
- 1.引入库
前言
在用Python做一个Selenium网页自动化工具时,发现如果用户提供的数据太多,需要很长时间才能做完,有时希望中途停止。那么要增加一个判断,如果用户按下了某个组合键,则优雅地退出(要把当前正在处理的任务完成,在下一个任务开始之前退出)。
先是研究了回调函数(callback), 发现是能够实现的(那是当然,哈哈), 但是比较复杂。后来发现其实用keyboard库中的add_hotkey() 可以轻松实现这一功能
一、keyboard库
如果用pip install keyboard不成功,可以到这里下载whl文件。
Link
二、使用示例
1.引入库
代码如下(示例):
import keyboard
import time
def setStopFlag():global blStopblStop = True
if __name__ == '__main__':blStop = False# set hot keykeyboard.add_hotkey('ctrl+shift+t',setStopFlag)print('----------Start-----------------')intCnt = 0 while intCnt < 10 and blStop == False:print( "%s Print result from loop in main process, intCnt is: %d"%(time.ctime(),intCnt))time.sleep(5)print("now wake up!")intCnt +=1if blStop == False:print( 'Timeout!')else:print( 'End: stopped by user!')
设置一个退出标志, 在主功能中,判断标志是否被设置。设置了则退出。
调用add_hotkey()后,keyboard在后台监听. 当用户按下此组合键后,退出标志即可被设置。
整个功能是非阻塞的。
Python中用keyboard库实现监听用户输入相关推荐
- java edittext 输入监听_Android应用开发之Android EditText 监听用户输入完成的实例
本文将带你了解Android应用开发Android EditText 监听用户输入完成的实例,希望本文对大家学Android有所帮助. 我们都知道, Android EditText输入框,并没有 ...
- iOS 16 修改第三方库实现监听 SwiftUI 中 sheet 弹出视图的下滑关闭动作
功能需求 我们已经在 iOS 16 中 SwiftUI 防止弹出的 sheet 视图被下滑关闭(dismiss)的新解决方案 这篇博文中介绍过如何在 iOS 16 中禁止用户下滑关闭弹出的 sheet ...
- 微信被指监听用户,腾讯回应;谷歌意外推送 Android 11 Beta 更新;Linux 5.7 发布 | 极客头条...
整理 | 屠敏 头图 | CSDN 下载自视觉中国 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客 ...
- 百度被告监听用户,回应“没那能力”,但小米说锅就是你的!
点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 随便下载一款手机应用,开启时除了要求获取"位置权限"."存储权 ...
- JS监听用户按下ESC
JS监听用户按下ESC $(document).ready(function(){}).keydown(function (e) {if (e.which === 27){console.log('按 ...
- 网传!微信监听用户聊天记录
近日,网传"微信私下监听用户聊天记录,针对性推送朋友圈广告,引起了热议 了解到,有网友爆料称,微信会私下监听用户的聊天内容信息,然后针对性的推送聊天内容相关的广告信息,很多时候,前脚刚聊完, ...
- 监听用户在页面停留的时长 / 监听多个页面时长
1.监听用户在页面停留的时长 2.如果要监听多个页面的时间,并且返回上一页累加上次浏览的时间功能 //记录阅读任务阅读列表recordTaskList() {this.quit_time = 0;le ...
- uniapp实战项目 (仿知识星球App) - - 利用computed监听用户操作
实战项目名称:仿知识星球App 技术栈:前端 => uni-app ( 后端:Node.js + Mysql + Apollo + Graphql ) 已实现功能:微信登录,创建星球,内容管理, ...
- wifipumpkin3搭建钓鱼wifi监听用户行为
wifipumpkin3搭建钓鱼wifi监听用户行为 一.安装wifipumpkin3 git clone https://github.com/P0cL4bs/wifipumpkin3.git cd ...
最新文章
- 统计学Java_【gloomyfish】基于Java的统计学计算结果
- 关于真正免费的嵌入式GUI
- php asp.net 代码量少,.NET_asp.net 反射减少代码书写量, 复制代码 代码如下:public b - phpStudy...
- [html] 使用history路由方式时,你有自己动手配置过服务器端吗?为什么要配服务器端?怎么配?
- Java字符串替换前缀,从Bash中的字符串中删除固定的前缀/后缀
- java环境变量代表的含义_java 环境变量的涵义
- S11 day 94 RestFramework 之 APIView视图
- 用shell查找某目录下的最大文件
- 计时器 【扩展欧几里得+BSGS】
- easyui 输入框、选择框、文字框
- 必做作业3:原型化系统---乘车app
- 用java计算_用Java写的计算器
- 首发|罗振宇2018“时间的朋友”跨年演讲未删减全文
- JVM快速入门(下)
- 杭州线上办理水电燃气过户
- LLC开关电源详细工作过程
- 【工作】Amazon Fraud Detection
- Excel2007版的常用功能(7):Excel公式与函数
- 游戏美术设计从业者过了30岁后都是如何发展的?
- 番茄工作法到底对我们的时间管理起到了什么作用?