如何在Python中重复某个操作x分钟?

5 投票
5 回答
4471 浏览
提问于 2025-04-15 21:44

我有一个程序(temptrack),需要每隔一段时间下载天气数据,持续几个小时。我已经知道怎么每隔一段时间下载数据,使用的是time.sleep(x*60),但是我不知道怎么把这个过程重复进行几个小时。

更新:感谢所有提供解决方案的人。我把使用“datetime.datetime.now() + datetime.timedelta(hours=x)”的例子标记为最佳答案,因为我最能理解这个方法,而且看起来非常适合我的需求。

5 个回答

3

你在找一个调度程序。

可以看看这个讨论

4

我刚刚发现了Python标准库里的一个叫做sched的东西。

5

计算一下你想要停止当前正在做的事情的时间,然后每次检查一下这个时间限制是否已经过了。可以这样做:

finish_time = datetime.datetime.now() + datetime.timedelta(hours=6)
while datetime.datetime.now() < finish_time:
    do_something()
    sleep_for_a_bit()

撰写回答