めもてふ

Python, Latex, Fortranを取り扱います

プログレスバーの表示

MacRatさんのページにあったプログレスバーを表示するための メソッドを改変した.

import sys
def PutBar(per):
    barlen = 56
    perb = int(per/(108.0/barlen))
    s = '\r'
    s += '| '
    s += '=' * perb
    s += ' c⌒っ゚Д゚)っ'
    s += ' ' * (barlen - perb- 5)
    s += '|'
    s += ' ' + (str(per) + '%').rjust(4)
    sys.stdout.write(s)

使うときは

if __name__ == '__main__':
    for step in range(MAXSTEP):
        # なんかの処理
        PutBar(step//MAXSTEP)
    PutBar(100)

実行すると

|c⌒っ゚Д゚)っ                                              |   0%

|==============================================c⌒っ゚Д゚)っ| 100%

となる

※numbaの@jit(nopython=True)の下ではstdout.writeが動かないのでちょっと面倒. printend=""もサポートしてなかった(´・ω・`)しゃーないけど