我想每隔一小时执行一次程序。我可以使用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