我想在多个python脚本之间共享多个资源。理想情况下,我要执行的是运行主程序。它包含一些脚本范围的变量。然后,我想将完全相同的程序分叉到一个新的shell中,并使其可以访问我的脚本范围的变量。
我正在研究多处理,但是不确定使用管道等其他方法是否会更好?
答案 0 :(得分:2)
您可以将Value
中的Array
和multiprocessing
用于跨进程的共享内存。
来自multiprocessing
的{{3}}的示例:
from multiprocessing import Process, Value, Array
def f(n, a):
n.value = 3.1415927
for i in range(len(a)):
a[i] = -a[i]
if __name__ == '__main__':
num = Value('d', 0.0)
arr = Array('i', range(10))
p = Process(target=f, args=(num, arr))
p.start()
p.join()
print(num.value)
print(arr[:])
将输出:
3.1415927
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]