Barra de progreso en ASCII

Oscar Merchan o.merchan en terra.es
Jue Feb 19 12:29:47 CET 2004


On Thu, 19 Feb 2004 11:43:25 +0100
Chema Cortes <ch3m4 en ch3m4.org> wrote:

Ni con la coma, in sin ella, ni con el sys.stdout.write() ni sin el, el resultado para mostrar la barra sigue siendo el mismo, ya no se ni por donde tirar, alguien tiene alguna otra barra de progreso ?? :-(


> Oscar Merchan escribió:
> 
> > Esta es la cuestion que hoy me trae por aqui. ¿ Alguien ha hecho o ha probado alguna barra de progreso en ASCII ?.
> > 
> > [...] la barra cuando va subiendo, me rellena tres lineas en vez de lo que ocupa la barra.
> > 
> > def progress(ratio, length=40, col=1, cols=("lgreen", "red", "blue"),
> >             nocol="=."):
> >     if ratio > 10:
> >         ratio = 10
> >     elchar, leftchar = nocol
> >     elapsed = int(round(ratio*length))
> >     left = length - elapsed
> >     bar = elchar*elapsed + leftchar*left
> >     bar = bar[:length]
> >     if col:
> >         c_elapsed, c_left, perc = cols
> >         bar = color(' '*elapsed, "gray", c_elapsed)
> >         bar = bar + color(' '*left, "gray", c_left)
> >     else:
> >         bar = elchar*elapsed + leftchar*left
> >     return bar
> > 
> > print "\033[5;2H"+color("0%","white")
> > print "\033[5;66H"+color("100%","white")
> > print "\033[5;5H"+progress(progreso)
> 
> Lo que te pasa es que el comando 'print' añade un salto de línea. Mejor 
> si pones una coma al final o, mucho mejor, emplea 'sys.stdout.write()' 
> para sacer la barra.
> 
> -- 
> Res publica non dominetur
> 
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es




Más información sobre la lista de distribución Python-es