[Python]命令行进度条

关键点是输出'\r'这个字符可以使光标回到一行的开头,这时输出其它内容就会将原内容覆盖。

import time
import sys

def progress_test():
    bar_length=20
    for percent in xrange(0, 100):
        hashes = '#' * int(percent/100.0 * bar_length)
        spaces = ' ' * (bar_length - len(hashes))
        sys.stdout.write("\rPercent: [%s] %d%%"%(hashes + spaces, percent))
        sys.stdout.flush()
        time.sleep(1)

progress_test()
posted @ 2014-07-24 16:11  鸪斑兔  阅读(7126)  评论(0编辑  收藏  举报