Maison >développement back-end >Tutoriel Python >Comment écraser la sortie de la console sur la même ligne ?

Comment écraser la sortie de la console sur la même ligne ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-05 10:01:15837parcourir

How to Overwrite Console Output on the Same Line?

Comment afficher la sortie dynamique sur la même ligne d'écran

Dans certaines circonstances, il est souhaitable de remplacer la sortie actuelle de la console par de nouvelles données plutôt que de l'ajouter. Une approche courante consiste à utiliser le caractère de retour chariot (« r ») pour revenir au début de la ligne actuelle :

Version simple :

for x in range(10):
    print(x, end='\r')
print()

Par en terminant chaque instruction d'impression par «r», le curseur revient au début de la ligne sans passer à la ligne suivante. Cela permet à l'instruction d'impression suivante d'écraser la sortie précédente.

Nettoyage de ligne :

Si la nouvelle sortie est potentiellement plus courte que la ligne actuelle, une étape supplémentaire est requise pour effacer les caractères restants :

for x in range(75):
    print('*' * (75 - x), x, end='\x1b[1K\r')
print()

La séquence d'échappement 'x1b[1K' efface tous les caractères depuis la position du curseur jusqu'à la fin du line.

Retour à la ligne longue :

Pour les sorties qui dépassent la largeur de la ligne, le retour à la ligne peut être désactivé pour garantir que les caractères successifs s'écrasent les uns les autres :

# Disable line wrapping
print('\x1b[7l', end='')

# Overwrite output
for x in range(75):
    print('*' * (75 - x), x, end='\r')

# Re-enable line wrapping
print('\x1b[7h', end='')

# Advance to next line
print()

Remarque : Il est crucial de réactiver le retour à la ligne après l'avoir désactivé pour éviter tout problème avec la future console. sortie.

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