我想在一个线程python中每隔x秒运行一个函数

时间:2017-02-18 07:14:57

标签: python

我想每隔x秒运行一次功能,除非被打断,否则永远不会结束。使用threading.Timer每次都会产生一个新线程。有没有办法在一个线程中实现相同的目标?

2 个答案:

答案 0 :(得分:3)

import time

def job():
    ... code for the function you want to run

def execute():
    while(True):
        job()
        time.sleep(x) # where x is the interval between jobs in seconds

答案 1 :(得分:0)

在Python 3.4+中有一个名为asyncio的库,它允许你每隔一段时间做一次重复的任务,再加上常规的东西。您将所有任务放在一个永远运行的循环中。

How can I periodically execute a function with asyncio?有一个使用此库的答案。