Python通过按键切换程序启停的代码运行后立即退出如何修复
问题原因
keyboard.on_press()是用来注册按键触发回调函数的API,不是用来同步检测当前是否有按键按下的,调用后会立刻返回,不会等待你手动按键。你写的两个if判断在程序启动瞬间就执行完成了,此时你还没按下F7,start始终为0,while循环条件不满足,程序直接执行完毕退出。- 原代码没有设计常驻的监听逻辑,程序不会等待响应你后续的按键操作。
修复后可运行代码
import keyboard import time running = False def toggle_run(e): global running running = not running print(f"当前状态: {'运行中' if running else '已暂停'}") # 注册F7按键监听,按下时触发状态切换 keyboard.on_press_key("F7", toggle_run) # 主循环常驻,保持程序运行 while True: if running: keyboard.write("a") time.sleep(1) keyboard.send('enter') # 加短休眠避免CPU占用过高 time.sleep(0.1)
注意事项
- 运行脚本需要管理员权限,keyboard库的全局按键监听需要高权限才能正常工作,否则会出现按键无响应的情况。
- 若需要退出程序,手动终止进程即可,也可以自行新增额外快捷键实现一键退出功能。
内容的提问来源于stack exchange,提问作者BluJayy_
相关产品推荐
相关产品推荐

