Linux环境下Python键盘监听与程序控制
本文介绍如何在Linux系统下,使用Python编写程序监听键盘事件,例如:控制一个无限循环程序,通过按下Enter键暂停和继续程序执行。 我们将利用多线程机制实现此功能。
核心思想是使用多线程:主线程负责主要任务,一个独立线程专门监听键盘输入。通过共享变量(标志位)协调两个线程的工作。
代码中,stop变量作为标志位,初始值为False(程序运行)。watch_dog函数作为监听线程,持续等待键盘输入。一旦检测到Enter键按下,则改变stop变量的值,从而控制主循环的执行状态。
以下为Python代码实现:
立即学习“Python免费学习笔记(深入)”;
import timefrom concurrent.futures.thread import ThreadPoolExecutorstop = Falsedef watch_dog(): global stop while True: input() # 等待键盘输入 stop = not stop # 切换stop状态with ThreadPoolExecutor(max_workers=1, thread_name_prefix='keyboard-watcher-') as tpe: tpe.submit(watch_dog) # 启动监听线程while True: if stop: print('程序暂停...') time.sleep(1) continue # 暂停 print('程序运行中...') time.sleep(1) # 模拟任务
登录后复制
代码首先定义全局变量stop控制程序暂停状态。watch_dog函数使用input()监听键盘输入,按下Enter键则反转stop值。主线程使用while循环模拟主要任务,根据stop值决定是否暂停。ThreadPoolExecutor创建并管理监听线程,确保主线程和监听线程并发运行。 主线程和子线程通过共享变量stop同步协调。 这种方法有效地实现了键盘输入监听和程序运行状态控制。
以上就是Linux下Python如何用键盘控制程序暂停和继续?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2528201.html