实现一个进度条的打印

简单版:

import time
for x in range(100):
	print("\r"+x*">",end='')
	time.sleep(0.1)  

升级版:

import time
for x in range(50):
	print('\r'+ '|' +x*'>'+ (50-x)*' '+'|'+str(x)+'%',end='')
	time.sleep(0.5)

开发版:

import sys
import time
def processBar(num, total):
	rate = num / total
	rate_num = int(rate * 101)
	if rate_num == 100:
		r = '\r%s>%d%%\n' % ('=' * rate_num, rate_num,)
	else:
		r = '\r%s>%d%%' % ('=' * rate_num, rate_num,)
	sys.stdout.write(r)

for i in range(101):
	time.sleep(0.1)
	processBar(i,101)

正规版:

 通过使用Tqdm模块,他是一个扩展性强的进度条工具库,提供了许多接口,下面演示一个简单的用法

from time import sleep
from tqdm import tqdm

for i in tqdm(range(0,500)):
    sleep(0.01)

效果

 

吊炸天版:

 Python 三方库——alive-progress,它可以让你的Python程序在运行时展示酷炫的进度条效果。

项目地址:https://github.com/rsalmei/alive-progress

# 导入 alive-progress 库
from alive_progress import alive_bar
import time

# 使用 with 语句创建一个进度条
with alive_bar(100) as bar: # 给 alive_bar 传入进度条总数目(这里是 100)
    for item in range(100):
        # 等待 1s
        time.sleep(.1)
        #更新进度条,进度 +1
        bar()

 

posted @ 2018-06-20 21:40  -Learning-  阅读(289)  评论(0编辑  收藏  举报