首页 > 解决方案 > 具有不同进程的多个 tqdm 进度条

问题描述

我正在尝试创建多个由不同进程运行的 tqdm 进度条。例如 5 个进程 -> 5 个条形图 -> 全部并行。我设法实现了类似的目标。所有 5 个进度条都会生成,但它也会开始生成一些额外的已经存在和死掉的进度条。另一个问题是,一旦工作进度条完成,它就会消失。

from time import sleep
from tqdm import tqdm
import concurrent.futures


def _loop_sleep(item, tqdm_pos):
    for _ in tqdm(
        range(1000), 
        total=1000, desc=f'Running {item}', position=tqdm_pos
    ):
        sleep(1)

with concurrent.futures.ProcessPoolExecutor() as executor:
    for item, tqdm_pos in zip(['A', 'B', 'C', 'D'], [0, 2, 4, 6]):
        executor.submit(
            _loop_sleep,
            item, tqdm_pos
        )
        sleep(1)

标签: python-3.xmultiprocessingprogress-bartqdm

解决方案


推荐阅读