Shell Ausgabe

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
dj pogo
User
Beiträge: 6
Registriert: Donnerstag 14. Januar 2010, 08:51

Hallo zusammen,

ich arbeite grade an einem Python Script das relativ große Datenmengen in XML Dateien schreibt.

Die Laufzeit kann dabei mehrere Stunden betragen und ich will den Anwender mit der Ausgabe des Verarbeitungsstatus auf dem Laufenden halten.

Bis jetzt habe ich einfach mittels "print()" den aktuellen Stand ausgegeben, aber ich hätte lieber eine Ausgabe die die Shell nicht einfach vollschreibt, sondern nur eine Zeile in der Shellausgabe erneuert (so wie bei top, zb).

Jetzt fehlt mir der entscheidende Tipp wie ich das bewerkstellige.

Mein Dank an alle die sich darüber Gedanken machen und Hilfestellung geben.

Gruß
dj pogo
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Gerade noch auf planet.python.org gesehen: http://coreygoldberg.blogspot.com/2010/ ... -with.html
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Die Suche nach "progressbar" hier im Forum kann dir da behilflich sein.

Vielleicht ist in diesem Thread was für dich dabei:
http://www.python-forum.de/topic-20980.html
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Ich mag falsch liegen, aber da er `top` erwähnt, hatte ich an nicht etwa an eine Prozentausgabe, sondern weiterhin an eine Ausgabe der Daten, aber eben via `curses` gedacht. Das ist hier wohl noch zu klären, was der OP nun wirklich will.
dj pogo
User
Beiträge: 6
Registriert: Donnerstag 14. Januar 2010, 08:51

Hello again,

also die Progressbar könnte ich auch nutzen.

Meine Frage ist aber eigentlich diese gewesen (und ich weiss nicht wie ich es in der Suche formuliere soll):

Ich will in der Shell folgende Ausgabe erzeugen:
"staticText
staticText
staticText
staticText"
dynamische Textzeile: Datensatz 1 von 100.000 (0%, 55:24 minuten verbleibend)

Also nur die letzte Zeile soll sich immer verändern.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

dj pogo hat geschrieben:also die Progressbar könnte ich auch nutzen.
Wo ist dann das Problem? Du kannst entweder das Modul nutzen oder nach seinem Beispiel etwas Deinem Bedürfnis anpassen (Lizenz beachten). Ansonsten gerne auch mit TxtScale aus meiner Software. Damit funktioniert u. a. Deine gewünschte Ausgabe (der dyn. Teil) direkt ohne Modifikation.

HTH
Christian
dj pogo
User
Beiträge: 6
Registriert: Donnerstag 14. Januar 2010, 08:51

Vielen Dank!

Mittels "sys.stdout.write()" und "sys.stdout.flush()" habe ich genau mein gewünschtes Verhalten hinbekommen!
Antworten