实现进度条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用来控制输出时间

运行结果如下:
在这里插入图片描述
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐