我想每隔一小時執行一次程序。我可以使用time.sleep函數來延遲時間間隔,但是如果程序執行的時間是16:30,那麼函數只會在17:30執行。但我需要在17:00和18:00等執行該功能。每隔一小時在Python中執行函數
import datetime
def onehour(value):
print "%d Hours" % value
now = datetime.datetime.now()
oncehour(now.hour)
我想每隔一小時執行一次程序。我可以使用time.sleep函數來延遲時間間隔,但是如果程序執行的時間是16:30,那麼函數只會在17:30執行。但我需要在17:00和18:00等執行該功能。每隔一小時在Python中執行函數
import datetime
def onehour(value):
print "%d Hours" % value
now = datetime.datetime.now()
oncehour(now.hour)
你需要睡覺等待「圓圓」的時候,如果現在是12:23,比睡眠60-23 =比跑37分鐘還要睡一個小時。在這裏你可以這樣寫:
from time import sleep
import datetime
sleep(60*(60-datetime.datetime.now().minute))
while True:
do_smth()
sleep(60*60)
對不起,您需要在此行之前加上標籤:sleep(60 * 60) –
你需要在你的腳本中這樣做,或者你可以使用cronjob每小時啓動一個腳本? – jonrsharpe
Python會更好。我已經嘗試了相同的cronjob,這非常簡單。我也可以在Windows中使用相同的程序。 – jOSe
然後您應該在Windows上使用適當的調度程序 - 這比在下一小時的頂部「等待」Python循環要容易得多。 – jonrsharpe