gpt4 book ai didi

Python3 : How to use set_description with tqdm. contrib.concurrent process_map

转载 作者:行者123 更新时间:2023-12-04 04:14:59 34 4
gpt4 key购买 nike

我一直在使用 tqdm.contrib.concurrent 中的 process_map :https://tqdm.github.io/docs/contrib.concurrent/

如何使用在每次迭代中都会更改的进度条来设置描述?

我试过:(这里去掉了很多代码来简化它......)

from tqdm.contrib.concurrent import process_map 
import tqdm

def myfunc(htmlfile):

tqdm.tqdm.set_description(htmlfile)

### function contents go here

r = process_map(myfunc, mylist, max_workers=16)

但我得到了 AttributeError: 'str' object has no attribute 'desc'
是因为 tqdm.contrib.concurrent 的 process_map 不能与 tqdm.tqdm 的 set_description 混合吗?

最佳答案

编辑 :process_map 接受直接传递给 tqdm 的关键字参数的附加列表。这意味着您可以简单地使用一个额外的关键字参数 desc 如下。

r = process_map(myfunc, mylist, max_workers=16, desc="My Description")

AFAIK,没有简单的方法可以做到这一点(到目前为止)。但是, process_map 需要一个名为 tqdm_class 的可选参数,您可以利用它( docs )。
您可以创建一个自定义类,该类继承默认类 tqdm.tqdm 并相应地设置属性。
import tqdm

class my_tqdm(tqdm.tqdm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.desc = "My Description"
然后,您可以将此自定义类传递给 process_map
r = process_map(myfunc, mylist, max_workers=16, tqdm_class=my_tqdm)

关于Python3 : How to use set_description with tqdm. contrib.concurrent process_map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60901526/

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