2016-06-21 9 views
-2

Ich habe einen Datenstrom, den ich analysieren und extrahieren muss, erstellen eine Liste dieser Werte und fügen sie an eine Liste in einer geschachtelten Liste, z. mainList [[firstExtractedValue], [SecondExtractedValue] ...). Die Erstellung der Hauptliste muss in 15-Minuten-Segmenten ausgeführt werden, nach denen ich über Hauptliste iteriere und eine zweite Liste erstelle. Wenn ich sleep() oder threading.Timer anrufe, wird die Liste nicht erstellt, da beide nach einem bestimmten Zeitraum ausgeführt werden. Ich brauche die Funktion für einen bestimmten Zeitraum (d. H. Es muss die Liste für 15 Minuten erstellt werden).Führen Sie eine Python-Funktion für x Sekunden?

+0

Warum möchten Sie eine bestimmte * Zeit *, anstatt eine (viel einfachere) bestimmte * Nummer *? – jonrsharpe

+0

Um eine Ausführung zu verlangen sollte eine bestimmte Zeit dauern, ergibt keinen Sinn. Was Sie wahrscheinlich wollen, ist: Starten Sie die Ausführung dieser Aufgabe alle 15 Minuten. – Markus

+0

Sie können die Startzeit überprüfen und in der Schleife überprüfen, ob 15 Minuten vergangen sind. siehe datetime-Modul –

Antwort

2

Sie könnten nur regelmäßig die Zeit überprüfen, und nach 15 Minuten, nein? Etwas wie:

import datetime 
def func(maxrt): 
    stop = datetime.datetime.now() + maxrt 
    while datetime.datetime.now() < stop: 
     # do stuff 

func(datetime.timedelta(minutes=15)) 
+0

ua Yikes! Irgendwie vermisste ich das Datetime-Modul. Ich denke du hast alle Recht. Ich bin ein bisschen wie ein Noob mit Python. Ich glaube, Ihre Methoden sollten funktionieren. Danke. – namor

+0

Keine Sorgen. Es ist leicht, sich zu konzentrieren und die einfachen Dinge zu verpassen. – user590028

Verwandte Themen