繁体   English   中英

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

[英]How do I create a scheduled task using Python Win32com that runs every 5 seconds?

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

如评论中所述,如果您想以这种频率执行操作,最好让程序永久运行并执行自己的调度。

以与@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)

如果要从系统启动时开始运行,则必须使其成为service ,并相应地更改退出条件。

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

import threading

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

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

starttimer()

使用pywin32截取屏幕截图等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM