Python 知道池中已完成多少任务
我使用Python的map多处理来处理大量的列表 以下是概述Python 知道池中已完成多少任务,python,multithreading,pool,python-multithreading,Python,Multithreading,Pool,Python Multithreading,我使用Python的map多处理来处理大量的列表 以下是概述 pool=ThreadPool(4) someList#这里大约有30万个元素 结果=pool.map(someMethod,someList) python是否可以打印出报告,比如处理了10k个元素?据我所知,映射的要点是,为每个元素调用的函数对于每个元素都是相同的。不过,您可以稍微修改一下-只需将索引与元素一起传递即可: someListWithIndices = [{'index': i, 'data': x} for i,x
pool=ThreadPool(4)
someList#这里大约有30万个元素
结果=pool.map(someMethod,someList)
python是否可以打印出报告,比如处理了10k个元素?据我所知,映射的要点是,为每个元素调用的函数对于每个元素都是相同的。不过,您可以稍微修改一下-只需将索引与元素一起传递即可:
someListWithIndices = [{'index': i, 'data': x} for i,x in enumerate(someList)]
现在,您需要调整someMethod以使用给定字典中的数据字段,并对提供的新索引做一些处理
您可能无法准确地获得所需的结果(精确地每10k个元素打印一次),但如果您想大致了解您正在取得的进展,这可能就是您要查找的内容。对不起,您的代码片段中有一些错误。它说SomeListWithIndexs=[{index:i,data:x}表示枚举(someList)]中的i,x的名称错误:全局名称“index”未定义对此表示抱歉。我将编辑我的答案。现在应该可以了。我忘了在dict键周围加撇号了。