有时候希望能在终端方式下显示类似进度条那样的文字,但用print总会回车,或继续在当前行后继续输出。

可以用\r或\b,但所处位置稍微有点讲究。

试了几回,可以了:


import time
for i in range(10):
    print i,'\r',  # 或者用:print '\b\b\b\b', i,
    time.sleep(0.5)


直接双击py文件可以看到效果,不过在IDLE或者pythonwin中不行:

IDLE中\r或\b均无效,各个数字仍然会按个显示出来;

pythonwin中会显示<BS>而不是退格,用\r时,仍然换行。