Maison  >  Article  >  développement back-end  >  Comment écraser la sortie d'impression précédente pour l'affichage de la progression d'un téléchargement FTP dynamique ?

Comment écraser la sortie d'impression précédente pour l'affichage de la progression d'un téléchargement FTP dynamique ?

DDD
DDDoriginal
2024-11-15 11:52:02604parcourir

How to Overwrite Previous Print Output for a Dynamic FTP Downloader Progress Display?

Écrasement de la sortie d'impression précédente : amélioration de l'affichage de la progression du téléchargeur FTP

Lors du processus de création d'un téléchargeur FTP, il est souhaitable d'avoir un affichage de la progression qui se met à jour en permanence, écrasant la sortie précédente sur la même ligne. Imaginez un scénario dans lequel vous téléchargez un fichier et souhaitez suivre sa progression en temps réel sans encombrer plusieurs lignes d'impression.

Le code initial utilisé pour gérer l'affichage de la progression reposait sur la structure suivante :

print(os.path.getsize(file_name) / 1024, 'KB / ', size, 'KB downloaded!')

Cela afficherait une nouvelle ligne à chaque fois que la progression serait mise à jour. Pour obtenir l'effet souhaité d'écrasement de la ligne précédente, le mot-clé de fin peut être utilisé. Voici le code révisé :

print(os.path.getsize(file_name) / 1024, 'KB / ', size, 'KB downloaded!', end='\r')

La différence cruciale ici est l'ajout de end='r' à la fin de l'instruction print. Par défaut, la fonction print() ajoute un caractère de nouvelle ligne (n) à la fin de sa sortie. Cependant, l'utilisation de end='r' remplace cette nouvelle ligne par un retour chariot (r).

Lorsqu'un retour chariot est utilisé, le curseur revient au début de la ligne actuelle sans en créer une nouvelle. Cela permet aux mises à jour de progression ultérieures d'écraser la ligne précédente, créant ainsi un affichage de progression dynamique.

Notez que cette approche est compatible avec Python 3.x. Pour Python 2.6, vous devrez peut-être inclure la ligne de __future__ import print_function en haut du fichier pour utiliser la fonction print() améliorée avec des arguments de mot-clé.

En incorporant cette simple modification, vous pouvez créer un fichier simplifié. affichage de la progression qui tient les utilisateurs informés sans les submerger de plusieurs lignes de 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