我正在使用Python的模块多处理功能来处理具有2个重级连接函数的+30个数据集。
第一个函数 func1 将部分结果存储在目录中,第二个函数 func2 将在此目录中调用。第二个函数不返回任何内容,仅生成另一个存储了输出的文件。
这是一个线性过程,如下所示:
def my_multiprocessing(input_path):
out_path = func1(input_path)
#Func2 uses out_path as input. Func2 returns no Python variable, just a file.
func2(out_path)
if __name__ == '__main__':
my_pool = Pool(cpu_count())
my_pool.map(my_multiprocessing, list_of_30_datasets_path)
现在,我希望多重处理能够正常工作;对于每个数据集,首先求解 func1 ,然后使用 out_path 变量求解 func2 。
但是到目前为止,它正在分批工作,首先解决了30个数据集的所有 func1 。 如果没有 out_path ,在 func2 之后如何处理? (Python覆盖) 我背后还有一些很酷的魔术吗?
请帮助我,这是我的第一个多处理任务,我希望它能工作一周,不能搞砸了。 非常感谢!