Heim >Backend-Entwicklung >Python-Tutorial >Wie aktualisiere ich frühere Konsolenzeilen in Python?

Wie aktualisiere ich frühere Konsolenzeilen in Python?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-08 14:01:02414Durchsuche

How to Update Previous Console Lines in Python?

Mehrere Zeilen in der Konsole neu schreiben

Frage:

Ist es möglich, vorherige zu bearbeiten? Zeilen werden in der Konsole gedruckt und mehrere Zeilen neu geschrieben, ähnlich wie beim Aktualisieren eines textbasierten Rollenspiels oder eines Fortschritts bar?

Antwort:

Unix

Verwenden Sie das Curses-Modul für diese Funktionalität.

Windows

Bedenken Sie Folgendes Optionen:

  • PDCurses: https://www.lfd.uci.edu/~gohlke/pythonlibs/
  • Konsole ( wie im verlinkten HOWTO empfohlen)
  • wconio: http://newcenturycomputers.net/projects/wconio.html
  • win32console: http://docs.activestate.com/activepython/2.6/pywin32/win32console.html

Beispiel für die Verwendung von Flüchen (Unix):

import curses
import time

def report_progress(filename, progress):
    """progress: 0-10"""
    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()

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich frühere Konsolenzeilen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn