7
votes

Python -> Temps A tandis que la boucle est en cours d'exécution

J'ai une boucle qui fonctionne pendant quelques heures à la fois. Comment aurais-je pu me dire combien de temps cela a été à un intervalle défini?

Juste une question générique ... Question

Edit: C'est une boucle de temps qui exécute des permutations, alors puis-je avoir imprimer le temps en cours d'exécution toutes les 10 secondes?


0 commentaires

3 Réponses :


1
votes

Il y a un moyen très hacrain de le faire en utilisant le temps.Asstime (). Vous stockez l'ASCTime avant d'entrer dans la boucle tandis que dans la boucle elle-même. Calculez la différence de temps entre l'heure stockée et l'heure actuelle et si cette différence est de 10 secondes, mettez à jour la durée stockée à l'heure actuelle et imprimez qu'il est en cours d'exécution.

Cependant, c'est une façon très hacable de le faire car elle nécessite des maths tordus et ennuyeux.

Si votre objectif est de vérifier le temps d'exécution d'un algorithme spécifique, vous ferez mieux d'utiliser le module TIMINIT

J'espère que cela aide


0 commentaires

2
votes

Comme indiqué, il s'agit d'un peu d'un piratage méchant, car il implique de vérifier le temps chaque itération. Pour que cela fonctionne, vous devez avoir des tâches qui fonctionnent pour un petit pourcentage du délai d'attente - si votre boucle ne fait que itérate chaque minute, elle ne sera pas imprimée toutes les dix secondes. Si vous souhaitez être interrompu, vous pouvez envisager de considérer multithreading, ou de préférence si vous êtes sous Linux / Mac / Unix, signaux. Quelle est votre plate-forme? xxx

sortie: xxx


3 commentaires

ohmygosh je t'aime mais qu'est-ce que passe faire? Est-ce que je mets quelque chose à la place?


Pass est l'opération NULL, c'est juste un espace réservé et ne fait rien du tout ( vraiment ). Il suffit de le remplacer par votre propre code.


HMM, je ne connaissais pas l'objet TIMER , je vous recommande de pouvoir passer à l'utiliser dans la réponse ci-dessous.



9
votes

Au lieu de vérifier l'heure sur chaque boucle, vous pouvez utiliser un objet de minuterie xxx


1 commentaires

+1 Beaucoup plus agréable que ma réponse, aime que Python a de telles piles incluses.