gpt4 book ai didi

python - 如何每隔x秒重复执行一个函数?

转载 作者:太空宇宙 更新时间:2023-11-03 21:47:56 24 4
gpt4 key购买 nike

我想永远每 60 秒重复执行一次 Python 中的函数(就像 Objective C 中的 NSTimer 或 JS 中的 setTimeout 一样)。该代码将作为守护进程运行,实际上就像使用 cron 每分钟调用 python 脚本一样,但不需要用户进行设置。

this question about a cron implemented in Python ,该解决方案似乎有效地只是 sleep() x 秒。我不需要这么高级的功能,所以也许这样的东西会起作用

while True:
# Code executed here
time.sleep(60)

此代码是否存在任何可预见的问题?

最佳答案

如果您的程序还没有事件循环,请使用 sched模块,它实现了通用事件调度程序。

import sched, time

def do_something(scheduler):
# schedule the next call first
scheduler.enter(60, 1, do_something, (scheduler,))
print("Doing stuff...")
# then do your stuff

my_scheduler = sched.scheduler(time.time, time.sleep)
my_scheduler.enter(60, 1, do_something, (my_scheduler,))
my_scheduler.run()

如果您已经在使用事件循环库,例如 asynciotriotkinterPyQt5gobjectkivy 等 - 只需使用现有事件循环库的方法来安排任务即可。

关于python - 如何每隔x秒重复执行一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52342786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com