📜  tqdm进度条python(1)

📅  最后修改于: 2023-12-03 15:20:40.183000             🧑  作者: Mango

使用tqdm进度条来监测代码运行进度

tqdm是用于在python命令行中展现进度条的库,可以用于监测代码运行的进度。tqdm可以用于包装任何可迭代对象,用于迭代时展示进度条。tqdm同时还可以通过设置其自身的参数,来调整进度条的外观和刷新频率等。

安装tqdm
pip install tqdm
使用方式

使用tqdm进行包装之后,只需要循环遍历被包装的可迭代对象即可:

from tqdm import tqdm
import time

for i in tqdm(range(100)):
    time.sleep(0.01)

上述代码用于展示一个进度条,来代表代码运行的过程,其中tqdm将range(100)进行了包装。如果没有tqdm,那么输出的结果就是一个很长的数字列表。而使用了tqdm之后,就可以看到一个实时的进度条,来展示代码的运行过程。

高级用法
外观调整

可以通过设置参数来调整tqdm的外观:

for i in tqdm(range(100), bar_format='{l_bar}{bar:20}{r_bar}{bar:-20b}'):
    time.sleep(0.01)

上述代码使用了一些占位符来调整了进度条的外观。其中“{l_bar}”表示进度条左侧的字符,“{r_bar}”表示进度条右侧的字符,“{bar:20}”表示进度条的长度(20个字符),“{bar:-20b}”表示进度条右侧的剩余字符(20个字符)。

刷新频率

可以通过设置刷新频率来控制进度条的速率:

for i in tqdm(range(100), mininterval=0.1):
    time.sleep(0.01)

上述代码中,设置了刷新频率为0.1秒,这就意味着进度条每0.1秒刷新一次。

进度回调

可以通过设置回调函数来控制进度条的行为。例如:

def progress_callback(x):
    print('progress:', x)

for i in tqdm(range(100), file=sys.stdout, bar_format='{l_bar}{bar:20}{r_bar}{bar:-20b}', leave=True, mininterval=0.1, dynamic_ncols=True, smoothing=0.1, position=0, unit=None, initial=0, desc=None, total=None, ascii=None, unit_scale=False, ncols=None, colour=None, unit_divisor=None, position_unit=None, miniters=None, iterable=None, postfix=None, unit_format=None, gui=False, progress_callback=progress_callback):
    time.sleep(0.01)

上述代码中,我们添加了一个回调函数“progress_callback”,用于在每一帧的时候输出当前的进度。

总结

tqdm是一个很有用的进度条库,可以用于监测代码运行的进度。通过本文,你已经了解了tqdm的基本用法和高级用法,希望这对你的项目有所帮助!