checkm

venerdì 12 settembre 2008

Attesa di caricamento sulla shell in Python

In seguito a questa discussione, ho pensato che fosse utile a diversa gente sapere come fare quelle cosette come le barre di caricamento, le percentuali che avanzano aggiornando la riga in stile wget. :-)

Ho scritto alcune soluzioni (importate time con import time):

1. Per fare la classica barretta roteante fatta di "| \ - /":

load = "| \ - /"
while
1:
for x in load:
sys.stdout.write("\r%s" % x)
time.sleep(0.05)
sys.stdout.flush()
2. Per fare una percentuale che avanza:
for x in range(100):
sys.stdout.write("\r%s%% Complete" % x)
time.sleep(0.5)
sys.stdout.flush()
3. Per fare una barra di caricamento con la percentuale :P :
bar = ""

for x in range(100):
sys.stdout.write("\r%s -> %s%%" % (bar, x))
time.sleep(0.5)
sys.stdout.flush()
bar = bar + "="
Credo che possa tornare utile a qualcuno... per me lo è! :-)

4 commenti:

Anonimo ha detto...

Bella Checkm!!! Continua così però.
Metti pure quelle patch per emesene quando l'hai finita :-)

ExAzor ha detto...

fichissimo! e' incredibile come sia semplice fare una cosa che non avevo idea di come realizzare

Simone ha detto...

Ah :-) Non immaginavo tu fossi italiano :P Mi fa piacere che questo post possa essere d'aiuto.

My test blog ha detto...

cazzo! lo feci io prima di te in un programma delle reti neuronali artificiali per vedere il tempo mancante stile wget con barra e tutto! però non lo ho mai trasformato in lib