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

Python如何同时运行两个while True循环实现定时自动按键功能

问题原因

你的代码采用了嵌套的无限循环结构,Python默认单线程线性执行代码,进入内层while True后程序会一直卡在内层循环执行,永远不会回到外层逻辑,自然无法实现两个任务并行运行的效果。

解决方案1:单线程计时(推荐当前场景使用)

两个任务的执行间隔是整倍数关系,直接以最小间隔0.25秒为步长,通过计数判断是否需要执行输入s和e的逻辑即可,无额外依赖,实现简单:

import keyboard
import time

count = 0
while True:
    # 每0.25秒输入t
    keyboard.write("t")
    # 每2个步长(0.5秒)输入s和e
    if count % 2 == 1:
        keyboard.write("s")
        keyboard.write("e")
    count += 1
    time.sleep(0.25)

解决方案2:多线程方案(适合后续扩展场景)

如果后续两个任务的执行间隔调整为非整倍数,可以用threading库开启独立线程分别运行两个循环,互不干扰:

import keyboard
import time
import threading

def task_t():
    while True:
        keyboard.write("t")
        time.sleep(0.25)

def task_se():
    while True:
        keyboard.write("s")
        keyboard.write("e")
        time.sleep(0.5)

# 启动守护线程,主程序关闭时自动销毁子线程
threading.Thread(target=task_t, daemon=True).start()
threading.Thread(target=task_se, daemon=True).start()

# 主线程阻塞,避免程序直接退出
while True:
    time.sleep(1)

停止方式

运行脚本时如果要终止程序,在终端按Ctrl + C即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:15:01