Python-从内存中检索变量



我有两个python脚本,它们需要相互传递大变量:python1.py和python2.py.

假设python1.py正在运行,并创建了一个非常大的列表变量"x"。目前,我正在将"x"保存(pickle)到硬盘,然后使用子进程运行python2.py,然后从硬盘加载"x"(我需要两个不同的python文件,因为我正在尝试并行计算)。

有没有另一种选择,我可以用一个指向内存的参数来调用python2.py,然后让python2.my直接在内存中查找它来创建"x"?

如果您正在研究跨进程拆分计算,我强烈建议您阅读"多处理"模块,该模块具有进程池、管理器和跨进程边界共享高级数据结构等概念。例如,请参阅文档中的"两个进程之间的共享状态"部分。来自文档:

from multiprocessing import Process, Array
def f(a):
    for i in range(len(a)):
        a[i] = -a[i]
if __name__ == '__main__':
    arr = Array('i', range(10))
    p = Process(target=f, args=(arr,))
    p.start()
    p.join()
    print(arr[:])
#output: [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

最新更新