当前位置: 首页 > 面试题库 >

使用tqdm与current.futures?

费秦迟
2023-03-14
问题内容

我有一个多线程函数,我想使用一个状态栏tqdm。有没有一种简单的方法来显示状态栏ThreadPoolExecutor?正是并行化部分使我感到困惑。

import concurrent.futures

def f(x):
    return f**2

my_iter = range(1000000)

def run(f,my_iter):
    with concurrent.futures.ThreadPoolExecutor() as executor:
        function = list(executor.map(f, my_iter))
    return results

run(f, my_iter) # wrap tqdr around this function?

问题答案:

你可以用tqdm周围executor,如下跟踪进度:

list(tqdm(executor.map(f, iter), total=len(iter))

这是您的示例:

import time  
import concurrent.futures
from tqdm import tqdm

def f(x):
    time.sleep(0.001)  # to visualize the progress
    return x**2

def run(f, my_iter):
    with concurrent.futures.ThreadPoolExecutor() as executor:
        results = list(tqdm(executor.map(f, my_iter), total=len(my_iter)))
    return results

my_iter = range(100000)
run(f, my_iter)

结果是这样的:

16%|██▏           | 15707/100000 [00:00<00:02, 31312.54it/s]


 类似资料:
  • Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。 安装: 最新的PyPI稳定版 pip install tqdm 在github上最新的开发版本 pip install -e git+https://github.com/tqdm/tqdm.git@master#egg=tqdm 用法:

  • 问题内容: 为了使我的代码更“ Pythonic”且更快,我使用“multiprocessing”和一个map函数向其发送a)函数和b)迭代范围。 植入的解决方案(即直接在范围tqdm.tqdm(range(0,30))上调用tqdm不适用于多重处理(如以下代码中所述)。 进度条显示为0到100%(当python读取代码时?),但是它并不表示map函数的实际进度。 如何显示进度条以指示“地图”功能

  • 我可以找到tqdm进度条用于group by和其他pandas操作的示例。但找不到任何有关合并或加入的信息。 有可能在熊猫上使用tqdm进行合并吗?

  • 本文向大家介绍python tqdm实现进度条的示例代码,包括了python tqdm实现进度条的示例代码的使用技巧和注意事项,需要的朋友参考一下 一、前言 \quad \quad 有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况。这对于第三方库非常丰富的Python来说,想要实现这一功能并不是什么难事。

  • 本文向大家介绍Python的Tqdm模块实现进度条配置,包括了Python的Tqdm模块实现进度条配置的使用技巧和注意事项,需要的朋友参考一下 tqdm官网地址:https://pypi.org/project/tqdm/ Github地址:https://github.com/tqdm/tqdm 简介        Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中