Réécriture de plusieurs lignes dans la console : au-delà de la dernière ligne
Réimprimer plusieurs lignes dans la console s'avère être un défi particulier. Bien qu'il soit possible de modifier la dernière ligne affichée avec « r », la personnalisation des lignes précédentes reste une tâche insaisissable.
Comprendre le besoin
Ce problème apparaît dans divers scénarios :
Solutions multiplateformes
La solution idéale s'adresse à la fois aux environnements Unix et Windows :
Windows : Plusieurs options existent, notamment :
Un exemple simple avec des malédictions
En utilisant des malédictions, réécrire plusieurs lignes devient une tâche simple :
import curses import time def report_progress(filename, progress): stdscr.addstr(0, 0, "Moving file: {0}".format(filename)) stdscr.addstr(1, 0, "Total progress: [{1:10}] {0}%".format(progress * 10, "#" * progress)) stdscr.refresh() if __name__ == "__main__": stdscr = curses.initscr() curses.noecho() curses.cbreak() try: for i in range(10): report_progress("file_{0}.txt".format(i), i+1) time.sleep(0.5) finally: curses.echo() curses.nocbreak() curses.endwin()
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!