现在的位置: 首页 > 综合 > 正文

飘逸的python – 实现控制台进度条效果

2019年06月08日 ⁄ 综合 ⁄ 共 349字 ⁄ 字号 评论关闭

我们要怎么在同一行中刷新输出呢?

答案是回车

注意,回车跟换行不是同一个东西。

回车:将当前光标移动到行首。(\r, return, CR, Carriage Return)
换行:光标位置不变,换到下一行。(\n, newline, LF, Line Feed)

以前的存储器很贵,有的人觉得每行结尾加2个字符太浪费了,加一个就行。于是导致了各个系统下表达回车换行所用符号略有不同。具体不在本文展开。

下面代码是针对windows平台而言的。

#coding=utf-8
import time
fmt = '{:3d} [{:<20}]'.format
def progressbar():
    for n in range(21):
        time.sleep(0.1)
        print '\r',fmt(n*5, '='*n),

progressbar()
print

抱歉!评论已关闭.