gpt4 book ai didi

python - Python中的双进度条

转载 作者:IT老高 更新时间:2023-10-28 20:59:51 25 4
gpt4 key购买 nike

有没有办法在 Python 中创建双进度条?我想在彼此内部运行两个循环。对于每个循环,我想要一个进度条。我的程序看起来像:

import time
for i1 in range(5):
for i2 in range(300):
# do something, e.g. sleep
time.sleep(0.01)
# update upper progress bar
# update lower progress bar

中间某处的输出应该类似于

50%|############################                                  |ETA: 0:00:02
80%|################################################## |ETA: 0:00:04

已经存在的真酷progressbar模块似乎不支持。

最佳答案

使用 nested progress bars feature of tqdm ,一个开销极低、可定制的进度条库:

$ pip install -U tqdm

然后:

from tqdm import tqdm
# from tqdm.auto import tqdm # notebook compatible
import time
for i1 in tqdm(range(5)):
for i2 in tqdm(range(300), leave=False):
# do something, e.g. sleep
time.sleep(0.01)

(leave=False 是可选的 - 需要在完成时丢弃嵌套条。)

您也可以使用 from tqdm import trange 然后将 tqdm(range(...)) 替换为 trange(...)。你也可以得到working in a notebook .

或者,如果您只希望一个条形图监控所有内容,您可以使用 tqdmitertools.product 版本:

from tqdm.contrib import itertools
import time
for i1, i2 in itertools.product(range(5), range(300)):
# do something, e.g. sleep
time.sleep(0.01)

关于python - Python中的双进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23113494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com