/ / Exectue-Funktion jede Stunde in Python - Python-2.7

Funktioniere jede Stunde in Python - python-2.7

Ich wollte jede Stunde ein Programm ausführen. Ich kann die time.sleep-Funktion verwenden, um das Intervall zu verzögern. Wenn das Programm jedoch um 16:30 Uhr ausgeführt wird, wird die Funktion nur um 17:30 Uhr ausgeführt. Die Funktion muss jedoch um 17:00 Uhr ausgeführt werden. 00 und so weiter.

import datetime

def onehour(value):
print "%d Hours" % value

now = datetime.datetime.now()
oncehour(now.hour)

Antworten:

1 für die Antwort № 1

Sie müssen schlafen, um "Runde" Zeit zu warten, wenn jetzt 12:23 ist, dann schlafen 60-23 = 37 Minuten und dann laufen Sie Ihre, als eine Stunde. Hier kannst du so schreiben:

from time import sleep
import datetime
sleep(60*(60-datetime.datetime.now().minute))
while True:
do_smth()
sleep(60*60)

0 für die Antwort № 2

Wie wäre es mit Cron Arbeitsplätze ? Sie können Ihren Code in eine Python-Datei schreiben und dann über die Befehlszeile in Ihrer Crontab aufrufen:

0 * * * * python script.py