Was kann ich verwenden, um noch einen Zeilenumbruch zurück in ein terminal, in Python?

Kann ich gehen Sie einen caracter wieder mit \b :

>>> print("123#456")
123#456
>>> print("123#\b456")
123456

Aber es funktioniert nicht, wenn ein Zeilenumbruch beteiligt ist :

>>> print("123#\n456")
123#
456
>>> print("123#\n\b456")
123#
456

Ist es, einen Weg zu gehen Zeilenumbruch zurück ?

Ich Frage das, weil ich einen Fortschritt bei der bisherigen Linie:

53%

Und ich benutze \b um den Wert zu aktualisieren. Aber wenn jemand druckt etwas, es bricht. Ich habe versucht, erstellen einen Puffer von Streichern und drucken genug ist '\b', um es zu ersetzen, dann gib den Puffer zurück. Aber es funktioniert nicht, wenn dort Zeilenumbrüche.

  • In der Regel, Sie zu vermeiden, drucken Sie die neue, oder verwenden Sie Flüche. In der Standard-Linie-orientierte text-Modus auf POSIX-Systemen, können Sie nicht das newline zurück.
  • Sehen Sie das gleiche Verhalten für alle progress-bars für Befehlszeilen-Dienstprogramme. Verwenden wget um eine große Datei, dann drücken Sie enter, während es lädt.
  • input.replace('\n', ") - ist das helfen ?
  • Sie können versuchen, zu verwenden '\033[1A', um zurück zu gehen eine Zeile (als Ersatz 1 mit der Anzahl der Zeilen, um zu springen. Es wird wahrscheinlich brechen in einigen terminals.
  • machen Sie es eine Antwort, so kann ich es akzeptieren. Einige Erklärungen wären auch Super.
InformationsquelleAutor e-satis | 2013-08-15
Schreibe einen Kommentar