BlankTar

about | blog | works | photo

pythonでさ、プログレスバー書きたくなる事あるじゃないですか。
というわけでstarで使ってるロジックをご紹介。
ていってもまあ、すごいしょーもない内容ですが。

#!/usr/bin/python

import sys
import time

def PutBar(per, barlen):
	perb = int(per/(100.0/barlen))

	s = '\r'
	s += '|'
	s += '#' * perb
	s += '-' * (barlen - perb)
	s += '|'
	s += ' ' + (str(per) + '%').rjust(4)

	sys.stdout.write(s)

for per in range(100):
	PutBar(per, 50)
	time.sleep(0.1)
PutBar(100, 50)

以上、これだけだ。
\r、つまりキャリッジリターンってやつ。復帰だっけ?
左端にカーソルを戻してから、プログレスバーを描画・・・っていうか、書き込む訳ですな。
\r|##########----------|  50%

的なね。
ご活用くださひ。
< mshta.exeウイルス(?)の撃退スクリプト ファイル転送第二弾。 >