Remplacement de la sortie de la console en Python
En programmation, il est souvent souhaitable d'afficher des informations de progression aux utilisateurs lors de l'exécution de tâches fastidieuses. Une technique populaire consiste à mettre à jour une barre de progression ou un compteur dans la console. Cet article explique comment y parvenir en Python.
Remplacement de la sortie de la console
Une approche simple pour remplacer la sortie de la console consiste à utiliser la séquence d'échappement "r", qui renvoie le curseur au début de la ligne en cours. En écrivant "r" avant la chaîne mise à jour et en omettant une nouvelle ligne, vous pouvez effectivement écraser la sortie précédente.
<code class="python">import sys for i in range(10): sys.stdout.write("\rDoing thing %i" % i) sys.stdout.flush()</code>
Cela écrasera continuellement la console avec la dernière itération de la boucle.
Barres de progression
Pour un indicateur de progression plus avancé, vous pouvez utiliser la fonction suivante :
<code class="python">def start_progress(title): sys.stdout.write(title + ": [" + "-" * 40 + "]") sys.stdout.flush() def progress(x): x = int(x * 40 // 100) sys.stdout.write("#" * (x - progress_x)) sys.stdout.flush() def end_progress(): sys.stdout.write("#" * (40 - progress_x) + "]\n") sys.stdout.flush()</code>
Cette fonction prend un titre en entrée et affiche une barre de progression dans la console. La fonction de progression met à jour le pourcentage de progression, tandis que la fonction end_progress complète la barre de progression.
Séquence d'appel
Pour utiliser la barre de progression, appelez start_progress pour l'initialiser, puis appelez la progression plusieurs fois pour mettre à jour le pourcentage. Enfin, appelez end_progress pour compléter la barre de progression.
<code class="python">start_progress("My Long Task") progress(50) progress(75) end_progress()</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!