pyautogui和计划不在一起工作

2024-09-30 02:36:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个每10秒按一次键的程序。为此,我将使用pyautogui和schedule的组合

from pyautogui import press, typewrite, hotkey
import schedule

keystroke = "w"

def keypress():
    press(keystroke)
schedule.every(10).seconds.do(keypress)

但当我运行这个时,什么也没发生。我等了10秒钟,但没有键入任何密钥。我做错了什么


Tags: fromimport程序defdokeypressschedulepress
1条回答
网友
1楼 · 发布于 2024-09-30 02:36:59

让我们一节一节地检查您的代码,看看是否能够确定问题所在

  • 您可以导入一些库
  • 您定义了一个希望每10秒运行一次的函数
  • 您告诉默认调度程序希望每10秒调用一次函数
  • 然后程序终止

有两个有点相关的问题:

  • 代码中没有任何地方告诉调度器运行任何计划的作业
  • 在运行任何计划作业之前,代码立即终止

要修复这些问题,您需要程序循环,让调度器检查并运行任何挂起的作业

下面的代码定义了一个简单的作业,并将其计划为每10秒运行一次。然后它每秒循环检查挂起的作业

import schedule
import time

def job():
    print("Running....")

schedule.every(10).seconds.do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

如果您只想让程序每n个时间单位循环并执行1个操作,那么调度模块就被过度杀死了。它更适用于复杂系统,其中有大量计划的操作都在不同的周期中运行

相关问题 更多 >

    热门问题