【发布时间】:2022-01-15 22:28:33
【问题描述】:
我想在 python 中运行多进程。 这是一个例子:
def myFunction(name,age):
output = paste(name,age)
return output
names = ["A","B","C"]
ages = ["1","2","3"]
with mp.Pool(processes=no_cpus) as pool:
results = pool.starmap(myFunction,zip(names,ages))
results_table = pd.concat(results)
results_table.to_csv(file,sep="\t",index=False)
myFunction 在实际情况下需要很长时间。有时我必须中断运行并重新开始。然而,results 只会在所有pool.starmap 完成后写入输出文件。如何在完成之前存储中间/缓存结果?
我不想将 myFunction 从 return 更改为 .to_csv()
谢谢!
【问题讨论】: