tqdm multiprocessing.pool
时间: 2024-03-29 11:32:52 浏览: 22
根据提供的引用内容,tqdm是一个Python的进度条库,可以用于显示循环或迭代过程的进度。multiprocessing.pool是Python的multiprocessing模块中的一个类,用于创建进程池并进行并行计算[^1]。
下面是一个使用tqdm和multiprocessing.pool的示例代码[^1]:
```python
import tqdm
from multiprocessing import Pool
def process_img(fname:str):
try:
# 进行一些操作
i=1
return True,""
except Exception as e:
return False,str(e)
if __name__ == '__main__':
with Pool(processes=None) as p:
pbar = tqdm(total=1400)
for succ,msg in p.map(process_img, glob.iglob("./imgs/*.jpg",recursive=True), 20):
pbar.update()
if not succ:
print(msg)
pbar.close()
```
在这个示例中,我们首先导入了tqdm和multiprocessing.pool的相关模块。然后定义了一个process_img函数,用于处理图像。接下来,在主程序中,我们使用Pool类创建了一个进程池,并设置了进程数为None,这意味着使用CPU核心数作为进程数。然后,我们使用tqdm创建了一个进度条对象pbar,并设置总共的迭代次数为1400。接着,我们使用p.map函数对glob.iglob("./imgs/*.jpg",recursive=True)进行并行计算,其中20表示每次处理的块数。最后,我们通过pbar.update()更新进度条,并在出现错误时打印错误信息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)