Python:如何更改此代码,以便每隔60秒doWork()一次?

2024-10-05 12:19:27 发布

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

如何更改此代码,以便每隔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()

Tags: 代码fromimporttaskdeftimeouttwisteddo
2条回答

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

#!/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()

它就是这样工作的:

^{pr2}$

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

来自oficial Twisted documentation

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()

相关问题 更多 >

    热门问题