J'ai le code suivant dans un script python:
def fun():
#Code here
fun()
Je veux exécuter ce script et savoir également combien de temps il a fallu pour s'exécuter en quelques minutes. Comment savoir combien de temps il a fallu à ce script pour s'exécuter? Un exemple serait vraiment apprécié.
Réponses:
la source
datetime.now()
fonctionne si vous le faitesfrom datetime import datetime
, pas seulementimport datetime
(juste confirmé sur Python 3.6.4).Exécutez-vous le script à partir de la ligne de commande sous Linux ou UNIX? Dans ce cas, vous pouvez simplement utiliser
la source
time -p ./script.py
-p
drapeau pour pipelinela source
print('It took {0:0.1f} seconds'.format(time.time() - start))
en python 3.x.Ce que je fais habituellement, c'est utiliser
clock()
outime()
depuis latime
bibliothèque.clock
mesure le temps de l'interprète, tandis que letime
temps du système. Des mises en garde supplémentaires peuvent être trouvées dans la documentation .Par exemple,
Ou bien, vous pouvez utiliser
timeit
. J'utilise souvent l'time
approche en raison de la rapidité avec laquelle je peux l'exploiter , mais si vous chronométrez un morceau de code isolable, c'esttimeit
pratique.D'après les documents de timeit ,
Ensuite, pour convertir en minutes, vous pouvez simplement diviser par 60. Si vous voulez que l'exécution du script soit dans un format facilement lisible, que ce soit en secondes ou en jours, vous pouvez le convertir en un
timedelta
etstr
il:et que imprimerons sur quelque chose de la forme
[D day[s], ][H]H:MM:SS[.UUUUUU]
. Vous pouvez consulter les documents de timedelta .Et enfin, si vous recherchez réellement le profilage de votre code, Python rend également disponible la bibliothèque de profils .
la source
Le code précédent fonctionne pour moi sans problème!
la source
la source
Utilisez le module timeit. C'est très facile. Exécutez votre fichier example.py pour qu'il soit actif dans le shell Python, vous devriez maintenant pouvoir appeler votre fonction dans le shell. Essayez-le pour vérifier qu'il fonctionne
Bien, cela fonctionne, importez maintenant timeit et configurez une minuterie
Maintenant que nous avons configuré notre minuterie, nous pouvons voir combien de temps cela prend
Et voilà, il vous dira combien de secondes (ou moins) il a fallu pour exécuter cette fonction. Si c'est une fonction simple, vous pouvez l'augmenter à t.timeit (nombre = 1000) (ou n'importe quel nombre!), Puis diviser la réponse par le nombre pour obtenir la moyenne.
J'espère que ça aide.
la source
utilisez les packages time et datetime.
si quelqu'un veut exécuter ce script et savoir également combien de temps il a fallu pour s'exécuter en quelques minutes
Le code ci-dessus fonctionne pour moi. J'espère que ça aide.
la source