Ich habe den folgenden Code in einem Python-Skript:
def fun():
#Code here
fun()
Ich möchte dieses Skript ausführen und auch herausfinden, wie viel Zeit die Ausführung in Minuten gedauert hat. Wie finde ich heraus, wie lange es gedauert hat, bis dieses Skript ausgeführt wurde? Ein Beispiel wäre sehr dankbar.
python
datetime
execution-time
James
quelle
quelle
Antworten:
quelle
datetime.now()
funktioniert, wenn Sie dies tunfrom datetime import datetime
, nicht nurimport datetime
(nur in Python 3.6.4 bestätigt).Führen Sie das Skript über die Befehlszeile unter Linux oder UNIX aus? In diesem Fall könnten Sie einfach verwenden
quelle
time -p ./script.py
-p
Flagge für die Pipelinequelle
print('It took {0:0.1f} seconds'.format(time.time() - start))
in Python 3.x gelesen werden .Was ich normalerweise mache, ist
clock()
odertime()
aus dertime
Bibliothek.clock
misst die Dolmetscherzeit, währendtime
die Systemzeit gemessen wird. Weitere Vorsichtsmaßnahmen finden Sie in den Dokumenten .Beispielsweise,
Oder alternativ können Sie verwenden
timeit
. Ich benutze dentime
Ansatz oft, weil ich ihn so schnell herausholen kann, aber wenn Sie einen isolierbaren Code planen, ist diestimeit
praktisch.Aus den timeit docs ,
Um dann in Minuten zu konvertieren, können Sie einfach durch 60 teilen. Wenn Sie die Skriptlaufzeit in einem leicht lesbaren Format wünschen, egal ob es sich um Sekunden oder Tage handelt, können Sie in a konvertieren
timedelta
undstr
es:und das wird etwas von dem Formular ausdrucken
[D day[s], ][H]H:MM:SS[.UUUUUU]
. Sie können die timedelta-Dokumente auschecken .Und schließlich, wenn Sie tatsächlich Ihren Code profilieren möchten, stellt Python auch die Profilbibliothek zur Verfügung .
quelle
Der vorherige Code funktioniert bei mir ohne Probleme!
quelle
quelle
Verwenden Sie das Timeit-Modul. Es ist sehr leicht. Führen Sie Ihre Datei example.py so aus, dass sie in der Python-Shell aktiv ist. Sie sollten nun in der Lage sein, Ihre Funktion in der Shell aufzurufen. Probieren Sie es aus, um zu überprüfen, ob es funktioniert
Gut, das funktioniert, importiere jetzt timeit und richte einen Timer ein
Jetzt haben wir unseren Timer eingerichtet und können sehen, wie lange es dauert
Und los geht's, es wird Ihnen sagen, wie viele Sekunden (oder weniger) es gedauert hat, um diese Funktion auszuführen. Wenn es sich um eine einfache Funktion handelt, können Sie sie auf t.timeit (Zahl = 1000) (oder eine beliebige Zahl!) Erhöhen und dann die Antwort durch die Zahl teilen, um den Durchschnitt zu erhalten.
Ich hoffe das hilft.
quelle
Verwenden Sie die Pakete time und datetime.
Wenn jemand dieses Skript ausführen möchte und auch herausfinden möchte, wie viel Zeit die Ausführung in Minuten gedauert hat
Der obige Code funktioniert für mich. Ich hoffe das hilft.
quelle