python - 如何在 python 中设置以特定间隔重复的循环?

标签 python loops time timer

<分区>

我是 python 的新手,我想知道是否有一个函数可以按特定的时间间隔重复一个事件,有点像

setInterval()

在 Javascript 中。我知道我可以使用

time.sleep()

在常规循环中,但我想知道是否有更好的方法来做到这一点。提前致谢。

最佳答案

以下是@Mathias Ettinger 的简化版本

因为 call_at_interval 已经在一个单独的线程中运行,所以不需要使用 Timer,因为它会产生另一个线程。

直接休眠并调用回调。

from threading import Thread
from time import sleep

def call_at_interval(period, callback, args):
    while True:
        sleep(period)
        callback(*args)

def setInterval(period, callback, *args):
    Thread(target=call_at_interval, args=(period, callback, args)).start()

def hello(word):
    print("hello", word)

setInterval(10, hello, 'world!')

关于python - 如何在 python 中设置以特定间隔重复的循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33473899/

相关文章:

python - 将 chromalog 添加到 STDOUT 和文件记录

python - django 1.11.3 css 背景图片不显示

python - 在 Python 中打印图形(顶点、边)

java - For 循环 - 无法识别变量; "not a statement"错误

java - JDBC(postgreSql)如何导出/导入java.sqlTime而没有毫秒精度损失

python - 如何立即更新 ipyvolume 形状而无需中间 View

r - 遍历列表并使用该列表中的元素

Java:达到一定值后重新启动程序

javascript - 拍卖截止日期 MEAN 堆栈

java - 如何将 java.util.Date 对象与 java.sql.Time 对象结合起来?