Python进度条小实例

代码理解:

函数view_bar(num,total)
    num是一个随即数,total是总数( num / total ) * 100 的int类型可以计算百分比

'\r%d%%%s' % (rate_num,'='*num)
    \r代表始终在一行的开头进行输出
    %d代表接收数字形式的百分比,与括号中的rate_num匹配
    %%代表百分号%,要想输出特殊字符%需要在加一个用于转义。
    %s与之后的'='*num进行匹配,用于输出一定数量的=>

sys.stdout.write(r)
    代表没输出一行后不需要换行,直接输出即可。

sys.stdout.flush()
    代表清空控制台内容,与sys.stdout.write(r)配合使用即可达到始终在一行的开头输出百分比数字的效果。

for循环中的time.sleep(0.3)
    代表没0.3秒给出一个数字,用于计算百分比

代码部分:

import sys
import time

def view_bar(num,total):
    rate = num / total
    rate_num = int(rate * 100)
    r = '\r%d%%%s>' % (rate_num,'='*num)
    sys.stdout.write(r)
    sys.stdout.flush()

if __name__ == '__main__':
    for i in range(1,101):
        time.sleep(0.3)
        view_bar(i,100)

执行结果:

20%====================>

51%===================================================>

100%====================================================================================================>

 

posted @ 2017-06-30 20:00  北海悟空  阅读(553)  评论(0编辑  收藏  举报