pythonでプログレスバー
単純なプログレスバー。
#! /usr/bin/env python # coding: utf-8 # progressbar.py import sys class progressBar: def __init__(self, whole, length=30, ch="#", nch=" "): self.whole = whole self.length = length self.ch = ch self.nch = nch def update(self, current): ret = "" end = current / self.whole # 何パーセント終わったか x = int(end * self.length) # プログレスバーの長さのうちどれだけ終わったか ret += "[" for _ in range(0, x+1): ret += self.ch for _ in range(x+1, self.length): ret += self.nch ret += "] %d%%\r" % int(end * 100.0) return ret def flush(self, current): print self.update(current), ####################### def test(): import time bar = progressBar(100) for i in range(0, 100): bar.flush(float(i)) time.sleep(0.05) print # newline def toy(): import time foo = progressBar(100) def f(message, interval): for i in range(0, 100): print message, foo.update( float(i) ), sys.stdout.flush() time.sleep(interval) print # newline f("initialize component : ", 0.05) f("extract program : ", 0.02) f("execute program : ", 0.1) f("finalize component : ", 0.001) if __name__ == '__main__': toy()