Seite 1 von 1
zeile ersetzen
Verfasst: Montag 10. September 2007, 07:17
von xwastedyouthx
moin moin,
habe mal wieder ein kleines problemchen.
wenn ich am bildschirm mit dem print befehl etwas ausgebe wird immer eine neue zeile erstellt.
wie schaffe ich es, dass mein ergebnis immer in der gleichen zeile auf dem screen ausgegeben wird?
danke im voraus.
Verfasst: Montag 10. September 2007, 07:33
von C4S3
Hallo!
Ich persönlich würde als erstes versuchen, über "Steuerzeichen" das zu erreichen, was ich will.
http://docs.python.org/ref/strings.html
Aber da Python auch für mich noch Neuland ist, ist es wahrscheinlich, dass es noch andere, bessere Möglichkeiten gibt.
Verfasst: Montag 10. September 2007, 07:54
von xwastedyouthx
die steuerzeichen sind doch für den string selbst und nicht für die steuerung der ausgabe oder?
Verfasst: Montag 10. September 2007, 07:59
von BlackJack
Ein Komma am Ende der ``print``-Zeile verhindert die Ausgabe des Zeilenumbruchs und ein '\r' ("carriage return"=Wagenrücklauf) befördert den Cursor wieder an den Zeilenanfang. Man kann statt ``print`` zu benutzen auch direkt auf die Standardausgabe schreiben. Die `flush()`-Methode braucht man, wenn jede Zeile auch *sofort* rausgeschrieben werden soll.
Code: Alles auswählen
import sys
import time
def main():
print
for i in reversed(xrange(0, 11)):
sys.stdout.write('\rCountdown %d ' % i)
sys.stdout.flush()
time.sleep(1)
print '\rIgnition '
Verfasst: Montag 10. September 2007, 08:29
von xwastedyouthx
hey, wunderbar

klappt einwandfrei.
mal wieder danke!!
