User Tools

Site Tools


python:progress_bar

This is an old revision of the document!


Progress Bar for Console Programs as Iterator

From here.

import sys
 
def progressbar(it, prefix = "", size = 60):
    count = len(it)
    def _show(_i):
        x = int(size*_i/count)
        sys.stdout.write("%s[%s%s] %i/%i\r" % (prefix, "#"*x, "."*(size-x), _i, count))
        sys.stdout.flush()
 
    _show(0)
    for i, item in enumerate(it):
        yield item
        _show(i+1)
    sys.stdout.write("\n")
    sys.stdout.flush()

Example use:

import time
 
for i in progressbar(range(15), "Computing: ", 40):
    time.sleep(0.1) # long computation
python/progress_bar.1278426739.txt.gz · Last modified: 2010/07/06 07:32 by tkbletsc

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki