Python-Zeitverzögerungen
Möchte ich wissen, wie eine Funktion aufgerufen wird, nach einer gewissen Zeit. Ich habe mal versucht.sleep (), aber das hält das ganze script. Ich möchte das Skript zu tragen, aber nach ???Sekunden, eine Funktion aufzurufen, und führen Sie das andere Skript auf der gleichen Zeit
InformationsquelleAutor der Frage drnessie | 2010-08-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie einen Blick auf
threading.Timer
. Es läuft die Funktion in einem neuen thread.InformationsquelleAutor der Antwort Mark Byers
Wenn Sie möchten, eine Funktion, die aufgerufen werden, nachdem eine Weile und Sie nicht zu stoppen Sie Ihr Skript, das Sie von Natur aus den Umgang mit threaded-code. Wenn Sie wollen eine Funktion, die aufgerufen werden und nicht darum zu kümmern, müssen Sie entweder explizit für die Verwendung von multi-threading - wie em Mark Byers ist answr, oder verwenden Sie eine Codierung Rahmenbedingungen, die eine main-loop, die kümmert sich um Funktion Versand für Sie - wie twisted, qt, gtk, pyglet, und so viele andere. Jede dieser würde verlangen, dass Sie ändern Sie Ihren code so, dass er Werke aus, die Rahmen der main-loop.
Es ist entweder das, oder schreiben einige Haupt-loop-event-überprüfen Sie auf Ihrer code -
Alles in allem, wenn das einzige, was Sie wollen, ist eine einzige Funktion aufruft, Gewindeschneiden.Timer ist der Weg, es zu tun. Wenn Sie möchten, verwenden Sie diese zeitgesteuerte Anrufe tatsächlich-Schleife das Programm erfolgt in der Regel mit javascript setTimeout, sind Sie besser wählen Sie die Codierung Rahmenbedingungen, die ich oben aufgeführt und refactoring von Ihrem code zu nutzen.
InformationsquelleAutor der Antwort jsbueno
InformationsquelleAutor der Antwort Denis