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

时间:2018-01-14 21:25:37

标签: python pywin32 taskscheduler

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

2 个答案:

答案 0 :(得分: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)

如果您希望从系统启动运行,则必须make it a service,并相应地更改退出条件。

答案 1 :(得分:0)

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

import threading

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

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

starttimer()

使用pywin32拍摄截图等。