如何在python中执行某个时间段的功能?

Posted

技术标签:

【中文标题】如何在python中执行某个时间段的功能?【英文标题】:How to perform a function for a certain time period in python? 【发布时间】:2012-08-31 07:09:02 【问题描述】:

我有一个函数:

perform(val)

我想这样调用它两次:

perform(True)
perform(False)

这里我希望第一个函数调用perform(True) 执行 5 小时。 5小时后,perform(True)中的最后一条语句一执行,就必须返回,perform(False)必须执行。

类似的东西:

while passed_time < 5:00:
    perform(True)
perform(False)

或者perform(val)的定义应该改变?

def perform(val):
    while passed_time < 5:00
        do_something1()
        do_something2()
        do_something3()
        do_something4()

    return

我该怎么做?

最好的问候

【问题讨论】:

【参考方案1】:
from datetime import datetime, timedelta
start = datetime.now()
while datetime.now() - start < timedelta(seconds=5*60*60):
    perform(True)
perform(False)

【讨论】:

我唯一要改变的是使用 datetime.utcnow,这样如果你越过夏令时边界就不会遇到任何问题。

以上是关于如何在python中执行某个时间段的功能?的主要内容,如果未能解决你的问题,请参考以下文章

在《c++》中如何让某个方法每隔一段时间执行一次?

oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。

在python中基于特定时间间隔执行任务

如何在模糊功能之前执行点击功能

怎么用python进行数据

Oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务