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 № 1Sie 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