statusleiste/ladebalken mit text realisieren!? hilfe!

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
warthox
User
Beiträge: 2
Registriert: Mittwoch 9. Mai 2007, 10:28

servus,

bin seit ein paar monaten mit python beschäftigt...also ich würde sagen ein anfänger...

also ich will ein ladebalken bzw. statusleiste generieren. jetzt nicht grafisch sondern textbasiert. also im dosfenster.

man kann ja mit print "" was schreiben. mein gedanke ist der das ich eine leiste mache und dann bei fortschreiten des prozesses einen balken in die leiste einfüge. versteht ihr was ich meine?

also so in der art:

status: <|||.................>
dann so

status: <|||||||............>

und gegen später dann

status <||||||||||||.......>

und das ganze aber immer in der gleichen zeile.

so mir fehlt nun die funktion um praktisch eine zeile zu überschreiben bzw. ein zeichen zu einer vorrhandenen zeile hinzu zu fügen.

gibt es nun eine funktion um sowas zu machen oder eine kleines script?

ich hab jetzt fast ne stunde das inet durchforstet und nichts darüber gefunden. ich hoffe ihr könnt mir helfen.

gruß warthox
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

immer diese Spielereien ;)

Code: Alles auswählen

import time

steps = 60
x = 0
for i in range(steps):
  x += 1
  print "status<%s%s>\r" % ("|" * x, "." * (steps-x)) ,
  time.sleep(0.1)
Mit dem , (Komma) am Ende bleibst du in der Zeile und mit \r setzt du den Cursor wieder auf den Anfang zurück
warthox
User
Beiträge: 2
Registriert: Mittwoch 9. Mai 2007, 10:28

vielen dank für deine schnelle hilfe.
hat funktioniert.
ich habs noch ein bisschen umgeändert da es bei mir prozessabhängig ist und dein beispiel ein zeitabhängige anzeige war.

gruß warthox
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

schon klar ;) ich hab das auch nur als Beispiel gebastelt
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Hier noch mal ein etwas ausführlicheres Beispiel, das nicht die komplette Zeile neu zeichnet (aber auch noch optimierbar ist).
Antworten