Maison >développement back-end >Tutoriel Python >Comment remplacer la sortie de la console en Python ?

Comment remplacer la sortie de la console en Python ?

DDD
DDDoriginal
2024-11-03 06:05:30611parcourir

How to Replace Console Output in Python?

Remplacer la sortie de la console en Python

En Python, contrôler la sortie vers la console peut être difficile, surtout lorsque vous devez mettre à jour uniquement un partie des informations affichées. Cette question traite d'une solution pour remplacer la sortie actuelle de la console par un compteur de progression concis.

Une approche simple consiste à écrire un caractère de retour arrière ("r") suivi de la nouvelle chaîne sans caractère de nouvelle ligne. En faisant cela, seule la ligne la plus récente de la console est mise à jour. Ceci est illustré dans l'extrait de code ci-dessous :

<code class="python">sys.stdout.write("\rDoing thing %i" % i)
sys.stdout.flush()</code>

Cependant, pour une barre de progression plus sophistiquée, vous pouvez implémenter une fonction personnalisée pour suivre la progression et afficher une barre dynamique basée sur le pourcentage de progression. Voici un exemple :

<code class="python">def progress(title):
    global progress_x
    sys.stdout.write(title + ": [&" + "-" * 40 + "]") + chr(8) * 41
    sys.stdout.flush()
    progress_x = 0

def progress(x):
    global progress_x
    progress_x = int(x * 40 // 100)
    sys.stdout.write("#" * (progress_x - progress_x))
    sys.stdout.flush()

def stop_progress():
    sys.stdout.write("#" * (40 - progress_x) + "]\n")
    sys.stdout.flush()</code>

Pour utiliser cette fonction, appelez start_progress avec la description de l'opération, progress avec le pourcentage, et enfin stop_progress pour afficher la barre de progression complète dans la console.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn