Ich empfehle bpython-curses
stattdessen die Verwendung, wenn Sie dieses Verhalten benötigen, da das Standard-Bpython-Frontend (wie Sie bemerkt haben) nicht richtig damit umgehen kann. Ihre Erklärung ist ungefähr richtig: bpython protokolliert die Ausgabe in einer gefälschten sys.stdout und versucht dann zu raten, wie sie gerendert werden soll. Seine Vermutung ist sehr naiv, und obwohl es eine begrenzte Anzahl von Escape-Sequenzen bei der Formatierung des Terminals berücksichtigt, berücksichtigt es keine Wagenrückläufe. Der Cursor wird auf eine Zeile im Terminal verschoben und diese berechnete Zeile wird geschrieben. Das Ergebnis ist das, was Sie sehen.
Unerwartetes Ausgabeverhalten der BPython-Konsole
449
iago-lito
Ich verwende BPython, um Python-Skripts auszuführen, und ich fand, dass die Konsolenausgabe ein anderes Verhalten als die reguläre Python-Konsole hat. Zum Beispiel dieser kleine Ausschnitt:
import time for i in range(100): time.sleep(.1) print("\r{}".format(i), end="")
Ausgaben in Python:
99 | >>> |
aber Ausgaben in BPython:
26 | 51 | 75 | 99 | >>> | ^ end of the console
Diese scheinbar zufälligen Zahlen hängen gerade auf meiner Konsole Breite . Ich vermute, dass der BPython-Cursor bei jedem Aufruf nach rechts verschoben wird, print
obwohl die Zeichenfolge mit a beginnt \r
. Wenn das rechte Ende der Konsole erreicht ist, kann die aktuelle Zeile nicht mehr gelöscht werden. Daher wird eine neue Zeile gestartet.
Irgendwelche Möglichkeiten, dies zu beheben?
UPDATE: (Bug berichtet dort )
1 Antwort auf die Frage
1
Thomas
Dies scheint das zu sein, was ich brauchte. Vielen Dank! :)
iago-lito vor 9 Jahren
0
Verwandte Probleme
-
2
Wie wird das Escape-Zeichen auf dem OS X-Terminal gesendet?
-
1
Wie entsperren Sie eine gesperrte Alias-Datei in OS X?
-
6
Welche zsh-Funktionen verwenden Sie?
-
4
Verwenden Sie öffentliche Terminals, um sich mit Ihren persönlichen Zugangsdaten anzumelden
-
5
So ändern Sie die Windows XP-Konsolenschriftart
-
8
Die Windows-Shell töten
-
2
Wie kann ich OSX Terminal.app dazu bringen, den Vollbildmodus zu öffnen und nicht zu kaskadieren?
-
3
Mac OS X: herkömmliche Orte, an denen Binärdateien gespeichert werden sollen
-
2
Mac OS X: einfaches Skript gesucht
-
4
Transparentes Unicode X-Terminal, das nicht an eine Desktop-Umgebung gebunden ist?