Python多处理保存文件

我正在计算整个南极洲的各种参数。该代码花费的时间太长,因此我决定将南极洲分成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变量,因此它们被保存到其他文件中。

编辑:

Here is a screenshot of the error. isotope and isotope_nf are the functions imported from the function file.

leon4180 回答:Python多处理保存文件

我现在仅使用joblib而不是pickle来解决这个问题。

本文链接:https://www.f2er.com/3093360.html

大家都在问