associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Diferenças para "ReceitaBarraDeProgresso"

Diferenças entre as versões de 1 e 4 (3 versões de distância)
Revisão 1e 2003-11-15 00:06:16
Tamanho: 796
Editor: 3-046
Comentário:
Revisão 4e 2003-12-01 12:28:25
Tamanho: 843
Editor: 200-140-165-132
Comentário:
Deleções são marcadas assim. Adições são marcadas assim.
Linha 33: Linha 33:
   print "ok" # print "ok"
print "ok"
Linha 37: Linha 38:
Volta para CookBook.
Linha 39: Linha 42:
Osvaldo Osvaldo Santana Neto

Receita: Barra de Progresso

Implementa uma barra de progresso em modo texto. Código enviado em uma mensagem para a python-br@yahoogroups.com em resposta à thread "Barra de Progressão".

Código

   1 import sys
   2 
   3 def progress_bar(value, max, barsize):
   4    chars = int(value * barsize / float(max))
   5    percent = int((value / float(max)) * 100)
   6    sys.stdout.write("#" * chars)
   7    sys.stdout.write(" " * (barsize - chars + 2))
   8    if value >= max:
   9       sys.stdout.write("done. \n\n")
  10    else:
  11       sys.stdout.write("[%3i%%]\r" % (percent))
  12       sys.stdout.flush()

Exemplo de uso

   1 import time
   2 print "processing..."
   3 for i in xrange(11):
   4    progress_bar(i, 10, 40)
   5    time.sleep(1)
   6 #   print "ok"
   7 print "ok"
   8 raw_input()

Volta para CookBook.


Osvaldo Santana Neto