2017-07-02 104 views
0

我有一個Python腳本,我也想在凌晨3點運行它。想簡單地把這樣的東西放在它的頂部。Python睡眠直到某個時間

while not 3am: 
    sleep(10) 

這樣,它保持睡眠10秒,直到凌晨3點。凌晨3點,它執行下面的代碼的其餘部分,然後退出腳本。有沒有簡單的方法來做到這一點?

+3

不,這是不正確的。您可能想要使用由您的操作系統提供的即用型服務。 * nix環境中的crontab或Windows環境中的Windows調度程序。 – idjaw

回答

2

解決方案有休眠等待循環:

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.Timersched module

+0

這幾乎是我想要的,但我認爲存在一些小錯誤。不應該是:datetime.datetime(2017,7,3,3)明天早上3點去? – Matt

+0

@Matt放入你想要的任何日期和時間:-) –