我有一個Python腳本,我也想在凌晨3點運行它。想簡單地把這樣的東西放在它的頂部。Python睡眠直到某個時間
while not 3am:
sleep(10)
這樣,它保持睡眠10秒,直到凌晨3點。凌晨3點,它執行下面的代碼的其餘部分,然後退出腳本。有沒有簡單的方法來做到這一點?
我有一個Python腳本,我也想在凌晨3點運行它。想簡單地把這樣的東西放在它的頂部。Python睡眠直到某個時間
while not 3am:
sleep(10)
這樣,它保持睡眠10秒,直到凌晨3點。凌晨3點,它執行下面的代碼的其餘部分,然後退出腳本。有沒有簡單的方法來做到這一點?
解決方案有休眠等待循環:
import datetime
import time
target_time = datetime.datetime(2017, 3, 7, 3) # 3 am on 3 July 2017
while datetime.datetime.now() < target_time:
time.sleep(10)
print('It is 3am, now running the rest of the code')
如果不是睡覺,你想要做其他工作,可以考慮使用threading.Timer或sched module。
這幾乎是我想要的,但我認爲存在一些小錯誤。不應該是:datetime.datetime(2017,7,3,3)明天早上3點去? – Matt
@Matt放入你想要的任何日期和時間:-) –
不,這是不正確的。您可能想要使用由您的操作系統提供的即用型服務。 * nix環境中的crontab或Windows環境中的Windows調度程序。 – idjaw