Tengo el siguiente código en un script de Python:
def fun():
#Code here
fun()
Quiero ejecutar este script y también averiguar cuánto tiempo tardó en ejecutarse en minutos. ¿Cómo puedo saber cuánto tiempo tardó en ejecutarse este script? Un ejemplo sería muy apreciado.
python
datetime
execution-time
James
fuente
fuente
Respuestas:
fuente
datetime.now()
funciona si lo hacesfrom datetime import datetime
, no soloimport datetime
(solo confirmado en Python 3.6.4).¿Ejecutas el script desde la línea de comandos en Linux o UNIX? En ese caso, podrías usar
fuente
time -p ./script.py
-p
flag for pipelinefuente
print('It took {0:0.1f} seconds'.format(time.time() - start))
en python 3.x.Lo que suelo hacer es usar
clock()
otime()
de latime
biblioteca.clock
mide el tiempo del intérprete, mientras quetime
mide el tiempo del sistema. Advertencias adicionales se pueden encontrar en los documentos .Por ejemplo,
O, alternativamente, puedes usar
timeit
. A menudo uso eltime
enfoque debido a la rapidez con la que puedo golpearlo, pero si está cronometrando un fragmento de código aislable,timeit
es útil.Desde el momento en que los documentos ,
A continuación, para convertir a los minutos, sólo tiene que dividir por 60. Si desea que el tiempo de ejecución de secuencias de comandos en un formato fácil de leer, ya sea segundos o días, puede convertir a una
timedelta
ystr
que:y eso imprimirá algo del formulario
[D day[s], ][H]H:MM:SS[.UUUUUU]
. Puedes consultar los documentos de timedelta .Y finalmente, si lo que realmente está buscando es perfilar su código, Python también pone a disposición la biblioteca de perfiles .
fuente
¡El código anterior funciona para mí sin ningún problema!
fuente
fuente
Utiliza el módulo timeit. Es muy fácil. Ejecute su archivo example.py para que esté activo en Python Shell, ahora debería poder llamar a su función en el shell. Pruébalo para comprobar que funciona
Bien, eso funciona, ahora importa timeit y configura un temporizador
Ahora que tenemos nuestro temporizador configurado, podemos ver cuánto tiempo lleva
Y ahí vamos, le dirá cuántos segundos (o menos) le tomó ejecutar esa función. Si es una función simple, puede aumentarla a t.timeit (número = 1000) (¡o cualquier número!) Y luego dividir la respuesta por el número para obtener el promedio.
Espero que esto ayude.
fuente
use los paquetes de hora y fecha y hora.
si alguien quiere ejecutar este script y también averiguar cuánto tiempo tardó en ejecutarse en minutos
El código anterior funciona para mí. Espero que esto ayude.
fuente