2013-01-01 87 views
0

我正在使用while循環來產生無限循環。而且,在代碼中,我有一個依賴於時間的部分。代碼如下:當條件滿足時,我該如何執行1次迭代?

while True: 
    if currentminute == '53': 
     # do this 
    else: 
     # do that 

如何在currentminute =='53'爲true的情況下執行'do this'代碼的一個循環?而且,執行「做」的代碼,代表散裝小時的其餘所有其他的代碼,回來到下一個小時「做到」代碼等

+0

請格式化您的代碼,特別是如果它是Python。 – irrelephant

+0

你可以像導入'datetime'模塊(或''time'''''''''''''''''')那樣做,並且讓'if'語句讀取'if datetime.datetime.now()。minute == 53:'。然而,我不確定我完全理解了這個問題,所以這可能不是您要找的。 – RocketDonkey

+1

我不是Python程序員,但它看起來像你不需要第一行('while True:') – alfasin

回答

1
from datetime import datetime 
import time 
while True: 
    if datetime.datetime.now().minute == 53: 
     # do this 
     if datetime.datetime.now().minute == 53: # if still 53 then sleep for rest of the seconds 
      time.sleep(60-datetime.datetime.now().second) 
    else: 
     # do that 

從你的問題,我假設只有#do this部分應執行只有一次每53分鐘。您還需要確保#do that零件不會長時間保持執行,以便它可以重疊第53分鐘。

相關問題