我正在计算整个南极洲的各种参数。该代码花费的时间太长,因此我决定将南极洲分成8个单独的位,并为每个单独的位并行运行代码。在每个文件的末尾都有一个我要保存的字典“ I”。
“功能文件”如下:
$ /usr/local/Cellar/minikube/1.5.2/bin/minikube version
minikube version: v1.5.2
commit: 792dbf92a1de583fcee76f8791cff12e0c9440ad
$
多处理文件如下所示:
I = {}
def function()
... code to compute variables ...
PKL_paths_save = 'path'
file_save = 'file_name' + change_name
f = open(PKL_paths_save + file_save,"wb")
pickle.dump(D,f)
f.close()
所以基本上,正在发生的是,南极的每一位都同时发生8个“功能文件”过程。但是当我们到达文件末尾时,出现内存错误,我认为这是因为它试图一次保存8个文件。
是否有解决此问题的方法?有没有一种方法可以并行运行代码,但可以串行保存结果(一个接一个)?还是有一种方法可以将南极洲的所有8位字典(I)合并到一个字典中,并将其保存在一个文件中?
任何帮助将不胜感激。
请注意,S列表是指南极的经度以及如何将它们划分为南极的各个部分。 “ args”中的第三个变量是change_name变量,因此它们被保存到其他文件中。
编辑: