


Implementierung einer zeitgesteuerten Schleifenausführung von Aufgaben über Python3
In unserer tatsächlichen Entwicklung gibt es häufig eine solche Anforderung: Ein bestimmtes Funktionsmodul oder eine bestimmte Aufgabe muss zyklisch innerhalb desselben Zeitraums ausgeführt werden. Hier gibt es ein Konzept eines Timers. Wie sollten wir konkret einen Timer implementieren? Timer verfügen über viele sehr praktische Funktionen, die die Ausführung von Threads steuern, den Systemverbrauch reduzieren usw. können. Lassen Sie uns nun die Implementierung der Timing-Funktion in Python3 üben.
Wenn Sie beispielsweise Python zum Entwickeln eines Crawler-Systems verwenden, müssen Sie möglicherweise Aufgaben in regelmäßigen Abständen wiederholt ausführen, um einen Thread-Dienst zur Überwachung von Daten zu implementieren Im Hintergrund kann der Crawling-Status helfen.
[Videoempfehlung: Python3-Video-Tutorial]
[Handbuchempfehlung: Python-Chinesisch-Handbuch]
Durch Python-Dokumentation Wir finden Sie threading.Timer() zum Implementieren der Timing-Funktion:
Einfacher Implementierungscode:
import threading def func1(a): #Do something print('Do something') a+=1 print(a) print('当前线程数为{}'.format(threading.activeCount())) if a>5: return t=threading.Timer(5,func1,(a,)) t.start()
Rendering:
Durch Konsultation der Informationen kann Python verwendet werden, um drei verschiedene geplante Aufgabenausführungsmethoden zu implementieren:
1 Geplanter Aufgabencode
#!/user/bin/env python #定时执行任务命令 import time,os,sched schedule = sched.scheduler(time.time,time.sleep) def perform_command(cmd,inc): os.system(cmd) print('task') def timming_exe(cmd,inc=60): schedule.enter(inc,0,perform_command,(cmd,inc)) schedule.run() print('show time after 2 seconds:') timming_exe('echo %time%',2)
2. Regelmäßige Ausführung von Aufgaben
#!/user/bin/env python import time,os,sched schedule = sched.scheduler(time.time,time.sleep) def perform_command(cmd,inc): #在inc秒后再次运行自己,即周期运行 schedule.enter(inc, 0, perform_command, (cmd, inc)) os.system(cmd) def timming_exe(cmd,inc=60): schedule.enter(inc,0,perform_command,(cmd,inc)) schedule.run()#持续运行,直到计划时间队列变成空为止 print('show time after 2 seconds:') timming_exe('echo %time%',2)
3 .Loop-Ausführungsbefehl
#!/user/bin/env python import time,os def re_exe(cmd,inc = 60): while True: os.system(cmd) time.sleep(inc) re_exe("echo %time%",5)
Zusammenfassend: Die Methoden von Python zum Implementieren von Timern basieren alle auf Zeitplan und Threading, und die spezifische Verwendung muss entsprechend der tatsächlichen Situation flexibel verwendet werden.
Die beiden am häufigsten verwendeten Module: Threading, Sched
Threading-Modul verwendet:
import threading ,time from time import sleep, ctime class Timer(threading.Thread): """ very simple but useless timer. """ def __init__(self, seconds): self.runTime = seconds threading.Thread.__init__(self) def run(self): time.sleep(self.runTime) print ("Buzzzz!! Time's up!") class CountDownTimer(Timer): """ a timer that can counts down the seconds. """ def run(self): counter = self.runTime for sec in range(self.runTime): print (counter) time.sleep(1.0) counter -= 1 print ("Done") class CountDownExec(CountDownTimer): """ a timer that execute an action at the end of the timer run. """ def __init__(self, seconds, action, args=[]): self.args = args self.action = action CountDownTimer.__init__(self, seconds) def run(self): CountDownTimer.run(self) self.action(self.args) def myAction(args=[]): print ("Performing my action with args:") print (args) if __name__ == "__main__": t = CountDownExec(3, myAction, ["hello", "world"]) t.start() print("2333")
Sched-Modul verwendet:
''' 使用sched模块实现的timer,sched模块不是循环的,一次调度被执行后就Over了,如果想再执行, 可以使用while循环的方式不停的调用该方法 ''' import time, sched #被调度触发的函数 def event_func(msg): print("Current Time:", time.strftime("%y-%m-%d %H:%M:%S"), 'msg:', msg) def run_function(): #初始化sched模块的scheduler类 s = sched.scheduler(time.time, time.sleep) #设置一个调度,因为time.sleep()的时间是一秒,所以timer的间隔时间就是sleep的时间,加上enter的第一个参数 s.enter(0, 2, event_func, ("Timer event.",)) s.run() def timer1(): while True: #sched模块不是循环的,一次调度被执行后就Over了,如果想再执行,可以使用while循环的方式不停的调用该方法 time.sleep(1) run_function() if __name__ == "__main__": timer1()
Das obige ist der detaillierte Inhalt vonImplementierung einer zeitgesteuerten Schleifenausführung von Aufgaben über Python3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Heute werfen wir hauptsächlich einen Blick auf die Zeitanwendungsmethode des Golang-Zeitpakets. Die allgemeine Regel zwischen den beiden ist, dass „Wandzeit“ zur Angabe der Zeit und „monotone Uhr“ zur Zeitmessung verwendet wird. Es gibt andere Methoden zur Uhrenverarbeitung.

1. Übersicht Im Rahmen dieses Artikels beginnen wir mit einigen Problemen mit der vorhandenen Date- und CalendarAPI und untersuchen, wie die neue Java8Date- und TimeAPI diese Probleme löst. Wir werfen auch einen Blick auf die Kernklassen in der Java8-Zeitklassenbibliothek, wie LocalDate, LocalTime, LocalDateTime, ZonedDateTime, Period, Duration und ihre APIs. 2. Das Problem der Thread-Sicherheit der alten API (vor Java 8) – Datums- und Kalenderklassen sind nicht threadsicher, was es für Entwickler schwierig macht, Parallelitätsprobleme dieser APIs zu debuggen und zusätzlichen Code schreiben muss, um damit umzugehen .

1. Zwei Möglichkeiten, Zeit in Python darzustellen: Zeitstempel: Offset in Sekunden relativ zu 1970.1.100:00:00, eindeutiges Zeittupel struct_time: insgesamt 9 Elemente>tm_year: Jahr 1-12> tm_mon: Monat 1-12> tm_mday: Tag 1-31>tm_hour: Stunde 0-23>tm_min: Minute 0-59>tm_sec: Sekunde 0-59>tm_wday: Woche 0-6 (0 bedeutet Sonntag)>tm_day: Tag des Jahres 1-366> tm_isdst: Unabhängig davon, ob Sommerzeit ist, ist der Standardwert -1.ti

Zeiterfassung und -konvertierung des Pythontime-Moduls Die Zeitbibliothek von Python kann zeitbezogene Verarbeitungen durchführen, z. B. den Zugriff auf das aktuelle Datum und die aktuelle Uhrzeit, die Ausgabe der Zeit in verschiedenen Formaten und das Warten auf eine bestimmte Zeit. 1. Holen Sie sich die Zeit 1.1. Zeitstempel importtimetimestamp=time.time()#1682737552.5009851 Greenwich Mean Time (GMT) Die Gesamtzahl der Sekunden von 00:00:00 Uhr am 1. Januar 1970 bis zur Gegenwart 1.2. Strukturierte Zeit importtimestruct_time= time. localtime()#time.struct_time(tm_year=2

Einführung in die Verwendung des Threading-Moduls zum Erstellen und Verwalten von Threads in Python 3.x: Mit der leistungsstarken Leistung von Computern ist Multithreading zu einer gängigen Methode der Parallelverarbeitung geworden. In der Standardbibliothek von Python gibt es ein praktisches Modul – Threading. In diesem Artikel wird die Verwendung des Threading-Moduls in Python3.x zum Erstellen und Verwalten von Threads vorgestellt und Codebeispiele zur Veranschaulichung verwendet. 1. Was ist ein Thread? Ein Thread ist ein unabhängiger Prozess, der innerhalb eines einzelnen Prozesses ausgeführt wird.

Installationsschritte: 1. Stellen Sie sicher, dass Python3 installiert wurde und über die Befehlszeile darauf zugegriffen werden kann. 2. Öffnen Sie das Terminal und geben Sie den Befehl „python3 -m securepip --upgrade“ ein, um pip zu installieren von der offiziellen Python-Website. 4. Extrahieren Sie das heruntergeladene Pip-Installationspaket. 5. Öffnen Sie das Terminal und navigieren Sie zum dekomprimierten Pip-Verzeichnis. 6. Führen Sie den Befehl „python3 setup.py install“ aus.

Verwenden Sie die PHP-Funktion „time“, um den aktuellen UNIX-Zeitstempel zurückzugeben. Der UNIX-Zeitstempel bezieht sich auf die Gesamtzahl der Sekunden seit 0:00:00 Uhr am 1. Januar 1970 (koordinierte Weltzeit). In PHP können Sie die integrierte Funktion „time“ verwenden, um den aktuellen UNIX-Zeitstempel abzurufen. In diesem Artikel wird die Verwendung dieser Funktion erläutert und entsprechende Codebeispiele bereitgestellt. Codebeispiel: <?php$timestamp=time();echo" current

Java ist eine leistungsstarke Programmiersprache mit einer umfangreichen API-Bibliothek, die uns bei der schnellen Entwicklung von Anwendungen helfen kann. Bei der JavaAPI-Entwicklung ist die Verwendung von Threading für die Thread-Verwaltung unvermeidlich, da die Thread-Verwaltung ein Kernproblem in Java-Anwendungen darstellt. In diesem Artikel wird erläutert, wie Threading für die Thread-Verwaltung verwendet wird. 1. Was ist Threading in JavaAPI? Verstehen Sie zunächst, was Threading ist. in Java
