You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用同一热键(F1)在Python中切换启停时间追踪?

用单个热键循环触发启动/停止时间追踪(Python keyboard库)

你可以通过状态标记变量结合热键回调函数的方式实现,完全不需要while循环,依托keyboard库的事件驱动机制就能完成循环触发逻辑:

import keyboard

# 你的原有函数
def start_tracking():
    # 这里写启动时间追踪的代码
    print("开始追踪时间")

def end_tracking():
    # 这里写停止时间追踪的代码
    print("停止追踪时间")

# 状态标记:记录当前是否正在追踪
is_tracking = False

def toggle_tracking():
    global is_tracking
    if not is_tracking:
        start_tracking()
        is_tracking = True
    else:
        end_tracking()
        is_tracking = False

# 绑定F1热键到切换函数
keyboard.add_hotkey("F1", toggle_tracking)

# 保持程序运行(keyboard库需要主进程存活才能监听热键)
keyboard.wait()

逻辑说明

  • is_tracking作为全局状态变量,标记当前追踪状态(False未启动,True正在追踪)
  • toggle_tracking是热键的回调函数,每次按下F1时执行:
    • 如果未启动追踪,调用start_tracking并切换状态为已启动
    • 如果正在追踪,调用end_tracking并切换状态为未启动
  • keyboard.wait()用于保持主进程运行,否则程序会直接退出,无法监听热键

这种方式完全基于keyboard库的事件回调,没有轮询式的while循环,不会造成不必要的性能损耗。

内容的提问来源于stack exchange,提问作者tschilpi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 15:15:59