tqdm
并且dask
都是用于 python 迭代的惊人包。在tqdm
实现所需进度条的同时,dask
实现了多线程平台,它们都可以使迭代过程不那么令人沮丧。然而 - 我很难将它们结合在一起。
例如,下面的代码实现了一个延迟执行dask
,带有tqdm.trange
进度条。问题是,由于delayed
执行速度很快,进度条会立即结束,而真正的计算时间工作是在compute
零件期间完成的。
from dask import delayed,compute
from tqdm import trange
from time import sleep
ct = time()
result= []
def fun(x):
sleep(x)
return x
for i in trange(10):
result.append(delayed(fun)(i))
print compute(result)
如何将进度条附加到compute
命令中的实际执行?