Réécriture de plusieurs lignes dans la console pour la modification dynamique du texte
Dans les applications basées sur le texte, il est souvent nécessaire de mettre à jour et de réécrire plusieurs lignes dans la console pour une interaction utilisateur dynamique. Cela peut présenter un défi lorsque l'on tente de préserver la disposition et la présentation de l'affichage.
Dans divers systèmes d'exploitation, différentes méthodes existent pour obtenir ce comportement :
Unix
Windows
Plusieurs options sont disponibles :
Exemple Code utilisant des malédictions
Le code Python suivant démontre l'utilisation de malédictions pour réécrire plusieurs lignes dans un terminal :
import curses import time def report_progress(filename, progress): """progress: 0-10""" stdscr.addstr(0, 0, "Moving file: {}".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 code utilise des malédictions pour initialiser un écran textuel, désactivez la mise en mémoire tampon d'écho et de ligne, imprimez le texte à l'écran et actualisez l'affichage. En appelant à plusieurs reprises la fonction report_progress, plusieurs lignes de la console peuvent être mises à jour dynamiquement.
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!