python - 在python进程之间共享资源

标签 python

我想在多个 python 脚本之间共享多个资源。理想情况下,我要做的是运行我的主程序。它包含一些脚本范围的变量。然后我想将完全相同的程序 fork 到一个新的 shell 中,并让它访问我的脚本范围变量。

我正在研究多处理,但我不确定是否有其他方法更好,例如使用管道?

最佳答案

您可以使用 multiprocessing 中的 ValueArray 跨进程共享内存。

来自 multiprocessingdocumentation 的示例:

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]

关于python - 在python进程之间共享资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55004267/

相关文章:

python - 在Mac上退出Docker状态(127)

python - 使用 Tweepy 更新了 Twitter 直接消息 API

Python:如何让 Firefox 首选项自动下载 .eml 文件?

python - <Django 对象> 不是 JSON 可序列化的

python - 如何在 Matplotlib 图中单独标记条形?

python - while 循环会执行多少次?

java - Selenium argument[0].scroll.to 函数第二次不起作用

python - 在 python pandas 中创建交叉表,显示存在哪些值

python - R数据框的首选数据格式

python - 理解列表的问题(我认为)