Auf Windows müssen Sie eine "neue Linie" tun \n
, bevor Sie einen "Wagenrücklauf" do \r
Beispiel:
>>>car = "carriage\n\rreturn"
>>>print (car)
carriage
return
>>>
[EDIT basierend auf Kommentare
]
wenn das Ziel über die vorherige Zeile zu drucken ist, kann folgende auf Microsoft Windows
import sys
def print_and_return(string):
#adding '\b' which moves the carriage back one character
#based on length of the string
sys.stdout.write(string.ljust(len(string)*2,'\b'))
sys.stdout.flush()
#this will print to stdout, and 'return' position to start
print_and_return("string1")
#normal print, but starting at the start of the previous print
print("string2")
012 verwendet werden,
Dies wird
string2
produzieren und wird die ursprüngliche Zeichenfolge überschrieben haben, können Sie eine time.sleep()
zwischen den beiden Aussagen stellen können, wenn Sie es erleben möchten.
Dies wird jedoch über die erste Zeile in der ursprünglichen Zeile gedruckt, aber die vorherige gedruckte Zeichenfolge wird nicht gelöscht. Wenn also die zweite Zeichenfolge kürzer als die ursprünglich gedruckte Zeichenfolge ist, bleibt das Ende der ursprünglich gedruckten Zeichenfolge erhalten Bildschirm.
print_and_return("string1=long")
print("string2")
wird
string2=long
Sie können die Länge des vorherigen Zeichenfolge immer produzieren zurück, dann Räume bis zum Ende des zweiten Strings hinzufügen, die dann die zusätzlichen Zeichen mit Leerzeichen überschrieben.
import sys
def print_and_return(string):
sys.stdout.write(string.ljust(len(string)*2,"\b"))
sys.stdout.flush()
return len(string)
l = print_and_return("string1=long")
#normal print, but starting at the start of the previous print
#adding spaces to ensure the length is the same as previous printed string
print("string2".ljust(l))
wird dies jetzt produzieren:
string2
HTH.
Keine Antwort, aber ich fand ein ähnliches E-Mail-Archiv: https://mail.python.org/pipermail/tutor/2006-February/045277.html. Das heißt, die Verwendung von Wagenrücklauf ist sehr ungewöhnlich. Die Tatsache, dass es Teil der Standarddarstellung von Windows in einer neuen Zeile ist und eine alte Mac-Darstellung einer neuen Zeile ist, liegt wahrscheinlich an der Spitze der Gründe, warum es ungewöhnlich ist. Ich würde sicherlich nicht erwarten, dass es systemübergreifend übertragbar ist. (Oder sogar über Displays, wie Sie entdeckt haben. Wie funktioniert es zum Beispiel mit PuTTY für SSH?) Was wollen Sie erreichen? – jpmc26
Danke für den Link, das war die Antwort, die ich suchte. Ich versuche nicht, irgendetwas zu erreichen, nur durch die O'Reilly-Serie zu arbeiten. Ich habe festgestellt, dass wenn ich weitergehe ohne etwas zu verstehen, es mich später beißt. – KEJ