39Si

プログラミング関連の勉強した内容を簡単にまとめておきます

コンソール出力の上書き[Python]

文字列の追加

今回はダウンロードバーみたいな使い方をしたい場合には
下記のような形で sys.stdout.write() と sys.stdout.flush() を使うようです。

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import sys
import time

for i in range(10):
    sys.stdout.write("=")
    sys.stdout.flush()
    time.sleep(1)

上書き

今回上書きする場合は
文字列の参考ページにあるように sys.stdout.write() の中の
\rが重要みたいでキャリッジリターンって書いてありました。
複数行もやってみようと思ったのですが、
よくわかりませんでした。

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import sys
import time

for i in range(10):
    sys.stdout.write("\r%d" % i)
    sys.stdout.flush()
    time.sleep(1)

参考文献

http://qiita.com/airtoxin/items/bb445529c94d3cd871f3
http://www.pythonweb.jp/tutorial/string/index2.html (特殊文字)