Ich denke, Ihre Idee ist ziemlich genau das, was Sie wollen. Zum Beispiel:
import time
def do_something():
with open("/tmp/current_time.txt", "w") as f:
f.write("The time is now " + time.ctime())
def run():
while True:
time.sleep(60)
do_something()
if __name__ == "__main__":
run()
Der Aufruf von time.sleep(60)
wird setzen Sie Ihr Programm für 60 Sekunden schlafen. Wenn diese Zeit abgelaufen ist, aktiviert das Betriebssystem Ihr Programm und führt die do_something()
-Funktion aus und setzt es dann wieder in den Ruhezustand. Während Ihr Programm schläft, tut es nichts sehr effizient. Dies ist ein allgemeines Muster zum Schreiben von Hintergrunddiensten.
So führen diese tatsächlich aus der Befehlszeile Sie & verwenden können:
diese
$ python background_test.py &
Wenn Dadurch wird bei jeder Ausgabe des Skripts gehen auf den gleichen Terminal wie die, die Sie es aus gestartet. Sie können die Ausgabe umleiten, dies zu vermeiden:
$ python background_test.py >stdout.txt 2>stderr.txt &
Es hängt davon ab, was Sie wollen. Wenn Sie eine Aufgabe so planen möchten, dass sie wiederholt ausgeführt wird, werfen Sie einen Blick auf cron. – Falmarri