我该如何在多处理for循环中添加tqdm
,也就是说,我想把urls
Package 成tqdm()
:
jobs = []
urls = pd.read_csv(dataset, header=None).to_numpy().flatten()
for url in urls:
job = pool.apply_async(worker, (url, q))
jobs.append(job)
for job in jobs:
job.get()
pool.close()
pool.join()
GitHub上的建议解决方案如下:
pbar = tqdm(total=100)
def update(*a):
pbar.update()
# tqdm.write(str(a))
for i in range(pbar.total):
pool.apply_async(myfunc, args=(i,), callback=update)
pool.close()
pool.join()
但是我的可迭代对象是一个URL列表,而不是像上面那样的一个范围。我如何将上面的解决方案转换为 my for循环?
1条答案
按热度按时间gtlvzcf81#
您可以使用
Joblib
中的Parallel
和Delayed
,并按以下方式使用tqdm:调用函数时使用: