实现进度条progress-bar的4种方法:不同的实现方法,可能调用不同的第三方库(progressbar,tqdm),下面介绍以下方法。
(一):
1. python程序中使用time模块可以让程序休眠
2. timesleep(t) 参数t是推迟执行的秒数
import time
for i in range(0, 101, 2):
time.sleep(0.1) #线程推迟指定时间运行,0.1秒代表休眠100毫秒
num = i // 2
if i == 100:
process = "\r[%3s%%]: |%-50s|\n" % (i, '|' * num)
else:
process = "\r[%3s%%]: |%-50s|" % (i, '|' * num)
print(process, end='', flush=True)
运行结果如下:
(二):
通过for循环打印进度条效果
import sys, time
print("正在下载......")
for i in range(11):#通过for循环输出进度条效果
if i != 10:
sys.stdout.write("==")
else:
sys.stdout.write("== " + str(i*10)+"%/100%")
sys.stdout.flush()
time.sleep(0.5)#sleep用来控制输出时间
print(" " + "下载完成")
运行结果如下:
(三)
1. 在处理迭代多次耗时较长的程序时,可用tqdm模块来显示程序进度条
2. tqdm使用方法:
(1)tqdm.tqdm(可迭代对象),括号中的可迭代对象可以是list,tuple等。
(2)tqdm.trange ,trange同python中的range,只是trange在循环的时候会输出打印进度条
from time import sleep
from tqdm import tqdm
for i in tqdm(range(20)):#也可改写为for i in trange(20):
sleep(0.5)#sleep用来控制输出时间
运行结果如下:
(四)
这里要使用到第三方库progressbar
cmd下载:pip install progressbar
import time
from progressbar import *
progress = ProgressBar()
for i in progress(range(1000)):
time.sleep(0.01)#sleep用来控制输出时间
运行结果如下: