2017-07-02 84 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放入你想要的任何日期和时间:-) –