Comment réécrire plusieurs lignes dans la console pour la modification dynamique du texte ?

Linda Hamilton
Libérer: 2024-11-08 16:55:02
original
243 Les gens l'ont consulté

How to Rewrite Multiple Lines in the Console for Dynamic Text Modification?

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

  • Utilisez le module curses, permettant de contrôler le curseur et l'écran du terminal opérations.

Windows

Plusieurs options sont disponibles :

  • PDCurses : Une malédiction portable implémentation pour Windows.
  • Console : Recommandé par la documentation Python (https://docs.python.org/3/library/console.html).
  • wconio : Un module spécifique à Windows pour la manipulation de la console.
  • win32console : Une interface de bas niveau pour les fonctions de la console Windows.

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()
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal