关键点是输出'\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()
04-13 13:09