Hi,
wenn ich in Python meinen Quellcode ablaufen lasse, dann gebe ich so einiges mit dem "print" Befehl auf die Konsole aus. Nun habe ich aber das Problem, dass manchmal die ersten Einträge verschwinden (also nicht weil es zu viele sind). ich gebe 50-60 Zeilen aus, sehe auch zur Laufzeit wie sie vorbeirauschen, aber am Ende steht nur eine Zeile da und ich kann nicht nach oben scrollen...jmd ne Idee woran das liegen könnte? den Code kann ich leider nicht posten, würde auch keinen Sinn machen da viel zu lang. Das logging Modul kenne ich übrigens schon.
Danke für Tipps
Konsolenausgabe verschwindet
Das liegt an deiner Shell/Kommandozeile und hat mit Python nichts zu tun. Meine Shells speichern "unbegrenzt" viele Zeilen. Das ist auf dem Mac. Aber falls du Windows benutzt, kannst du die Anzahl der Zeilen, die aufgehoben werden sollen, garantiert auch in ein Einstellungen setzen.jmd ne Idee woran das liegen könnte?
Stefan
-
- User
- Beiträge: 55
- Registriert: Sonntag 11. April 2010, 14:41
hallo stefan, denke für den tipp, aber ich denke nicht, dass es das ist.
die konsole speichert schon einge zeilen, sicher mehr als 500. das Problem tritt aber auch auf, wenn ich weniger zeilen ausgebe. ich kann den Fehler aber leider nicht beliebig reproduzieren...dachte vllt hatte jmd schon mal sowas...
die konsole speichert schon einge zeilen, sicher mehr als 500. das Problem tritt aber auch auf, wenn ich weniger zeilen ausgebe. ich kann den Fehler aber leider nicht beliebig reproduzieren...dachte vllt hatte jmd schon mal sowas...
Ich behaupte mal es muss an der Konsole liegen.
Von welcher System.out sprechen wir? Alternativ kannst du es ja mal mit einer anderweitgen Konsole (z.b. die aus Eclipse) versuchen.
An sich ist es auch nicht möglich bereits geschriebene Zeilen in der Console zu ändern, bzw. ist es nicht trivial.
Von welcher System.out sprechen wir? Alternativ kannst du es ja mal mit einer anderweitgen Konsole (z.b. die aus Eclipse) versuchen.
An sich ist es auch nicht möglich bereits geschriebene Zeilen in der Console zu ändern, bzw. ist es nicht trivial.
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Sind in deiner Ausgabe vlt. ab und zu irgendwelche Steuerzeichen, mit dem dein Terminal-Emulator/deine Termcap nicht klarkommt?
Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
-
- User
- Beiträge: 55
- Registriert: Sonntag 11. April 2010, 14:41
also ich arbeite mit Eclipse/PyDev auf Windows XP, da das auch die Zielumgebung für mein Tool ist (damit wird hier halt gearbeitet)...wenn es denn jemals fertig werden.
Hm, das mit den Steuerzeichen...was für Zeichen fallen da so rein?...denke aber nicht, dass ich sowas verwende.
Hm, das mit den Steuerzeichen...was für Zeichen fallen da so rein?...denke aber nicht, dass ich sowas verwende.
Hmm, z.B. "\r" (Carriage Return).
Das erklärt allerdings noch nicht, wieso vorhergehende Zeilen verschwinden.
Ruft Dein Programm eventuell Shell-Befehle wie "cls" o.ä. auf, z.B. per subprocess.call (mit shell=True) oder os.system? Alternativ leite die Ausgabe doch mal in eine Datei um, vielleicht ergibt sich daraus ja ein Hinweis?
Code: Alles auswählen
>>> import sys
>>> sys.stdout.write("Ich werde überschrieben\rIch wurde überschrieben")
Ich wurde überschrieben>>>
Ruft Dein Programm eventuell Shell-Befehle wie "cls" o.ä. auf, z.B. per subprocess.call (mit shell=True) oder os.system? Alternativ leite die Ausgabe doch mal in eine Datei um, vielleicht ergibt sich daraus ja ein Hinweis?
-
- User
- Beiträge: 55
- Registriert: Sonntag 11. April 2010, 14:41
hm, nein, das mach ich alles nicht...logging funktioniert...naja, momentan ist der fehler wieder verschwunden, hoffen wir, dass es so bleibt...
aber danke für eure mühen
aber danke für eure mühen