2012-08-31 101 views
1

我有一個函數:如何在python中執行一段時間的函數?

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 

我該怎麼做?

問候

回答

2
from datetime import datetime, timedelta 
start = datetime.now() 
while datetime.now() - start < timedelta(seconds=5*60*60): 
    perform(True) 
perform(False) 
+0

我會改變的唯一的事情就是用datetime.utcnow,這樣,如果你跨越夏令邊界,你不會遇到任何問題。 – aychedee

相關問題