如何使用 Python Win32com 创建每 5 秒运行一次的计划任务?

问题描述 投票:0回答:2

我正在尝试使用 Win32com 在 Python 中创建计划任务。我能够创建每日触发器。但是,我无法找到一种方法来每 5 秒或每分钟创建一次触发器。有人知道如何做到这一点吗?

python pywin32 windows-task-scheduler
2个回答
1
投票

正如评论中所说,如果你想以这个频率做事,最好让你的程序永远运行并进行自己的调度。

与@Barmak Shemirani的答案类似,但没有产生线程:

import time

def screenshot():
    # do your screenshot...

interval = 5.
target_time = time.monotonic() + interval
while True:
    screenshot()
    delay = target_time - time.monotonic()
    if delay > 0.:
        time.sleep(delay)
    target_time += interval

或者,如果您的屏幕截图足够快并且您并不真正关心精确的时间:

while True:
    screenshot()
    time.sleep(interval)

如果您希望它从系统启动时运行,您必须将其设为服务,并相应地更改退出条件。


0
投票

pywin32 不需要创建计划或计时器。使用以下内容:

import threading

def screenshot():
    #pywin32 code here
    print ("Test")

def starttimer():
  threading.Timer(1.0, starttimer).start()
  screenshot()

starttimer()

使用pywin32进行截图等

© www.soinside.com 2019 - 2024. All rights reserved.