【问题标题】:How to perform a function for a certain time period in python?如何在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

我该怎么做?

最好的问候

【问题讨论】:

    标签: python function time execution


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

    【讨论】:

    • 我唯一要改变的是使用 datetime.utcnow,这样如果你越过夏令时边界就不会遇到任何问题。
    猜你喜欢
    • 2015-01-11
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-19
    • 2014-12-24
    • 1970-01-01
    • 2011-03-14
    相关资源
    最近更新 更多