实现一个进度条的打印
简单版:
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()