首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python For循环列表,每5分钟运行一次

Python For循环列表,每5分钟运行一次
EN

Stack Overflow用户
提问于 2014-08-06 19:43:07
回答 3查看 389关注 0票数 1
代码语言:javascript
复制
matches = []
done = []
for item in matches:
    dofunctioneveryloop()
    done.extent(item)
    dofunctiononce5min()

如何在这个循环中执行dofunctiononce5min() 5分钟?这是备份到文件功能,这可能吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-06 20:09:44

我不确定我是否理解这个问题。我假设您希望这个函数每五分钟只执行一次,不管它真正被调用了多少次。

这可能有点过分,但为什么不使用decorator呢?这将为“修饰”函数创建一个新函数,如果自上次执行后X秒过去,该函数将执行原始函数。这将确保该函数不超过每5分钟执行一次(或传递给装饰器的时间间隔为秒),无论是在该循环中还是在其他地方调用它。

代码语言:javascript
复制
import time

def onceEveryXSeconds(seconds):             # this creates the decorator
    def wrapper(f):                         # decorator for given 'seconds'
        f.last_execution = 0                # memorize last execution time
        def decorated(*args, **kwargs):     # the 'decorated' function
            if f.last_execution < time.time() - seconds:
                f.last_execution = time.time()
                return f(*args, **kwargs)
        return decorated
    return wrapper

用法:

代码语言:javascript
复制
@onceEveryXSeconds(3)
def function(foo):
    print foo

while True:
    print "loop"
    function("Hello again")
    time.sleep(1)

输出,使用@onceEveryXSeconds(3)

代码语言:javascript
复制
loop
Hello again
loop
loop
loop
Hello again
loop
...
票数 1
EN

Stack Overflow用户

发布于 2014-08-06 19:49:12

不建议你这样做。也许最好的方法是将它安排在操作系统上,并定期运行它。

无论如何,如果希望每隔x次运行一次语句,下面是一个示例

代码语言:javascript
复制
import time

for i in range(5):
    print i
    time.sleep(3) # seconds

时间作为参数应该被细分为0.5秒。

票数 0
EN

Stack Overflow用户

发布于 2014-08-06 20:06:51

假设循环花费的时间超过5分钟,您可以使用time.time()来确定何时运行了5分钟。

代码语言:javascript
复制
import time

matches = []
done = []
starttime = time.time()
for item in matches:
    dofunctioneveryloop()
    done.extent(item)
    if time.time() - starttime  > 300:  
        dofunctiononce5min()
        starttime = time.time()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25168828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档