我想每隔一小时执行一次程序。我可以使用time.sleep函数来延迟间隔但是,如果执行程序让我们在16:30说,那么该函数将只在17:30执行。但我需要在17:00,18:00等执行该功能。
import datetime
def onehour(value):
print "%d Hours" % value
now = datetime.datetime.now()
oncehour(now.hour)
答案 0 :(得分:1)
你需要睡觉等待"回合"时间,如果现在是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)
答案 1 :(得分:0)
Cron工作怎么样?您可以在Python文件中编写代码,然后从crontab中的命令行调用它:
0 * * * * python script.py