Python:我如何更改此代码,以便我可以每 60 秒执行一次 Work()



如何更改此代码,以便我可以每 60 秒调用一次 doWork((。目前,它正在绝对循环并在 60 秒后停止。想要做完全相反的事情。

from twisted.internet import task
from twisted.internet import reactor
import twapi
timeout = 200.0 # Sixty seconds
def doWork():
    #do work here
    twapi.main('1')
    pass
l = task.LoopingCall(doWork)
l.start(timeout) # call every sixty seconds
reactor.run()

来自官方扭曲文档

from twisted.internet import task
from twisted.internet import reactor
def runEverySecond():
    print "a second has passed"
l = task.LoopingCall(runEverySecond)
l.start(1.0) # call every second
reactor.run()

我修改了您的脚本以每分钟输出一次当前时间:

#!/usr/bin/python
from twisted.internet import task
from twisted.internet import reactor
from datetime import datetime as time
timeout = 60.0 # Sixty seconds
def doWork():
    #do work here
    print time.now().isoformat()
l = task.LoopingCall(doWork)
l.start(timeout) # call every sixty seconds
reactor.run()

它的工作原理是这样的:

2012-05-20T19:24:44.388682
2012-05-20T19:25:44.389788
2012-05-20T19:26:44.389424

我能看到的你的代码片段中的唯一问题是你要求反应堆每 200 秒调用一次你的函数,而不是 60 秒。