如何在两个 python 脚本之间共享不断变化的变量



我是python的新手,在尝试在两个脚本之间定义共享变量时,我被放养了,这样父脚本中共享变量的任何值更改都会立即"同步"到子脚本。

例如:

  1. 每两秒,Parent.py向共享变量 A 输入值 1 到 3,一次一个
  2. Child.py一直在等待 A 的值变化并将它们打印出来。

所以我们应该得到这样的东西:

1
...(2 seconds past)
2
...(2 seconds past)
3

这只是一个例子。我的实际脚本更复杂,需要同时运行,所以我正在考虑使用multiprocessing.pipemultiprocessing.queue但不确定选择哪一个以及如何将其添加到我的脚本中。如果有人可以帮助我,我将不胜感激:)

谢谢!

使用 multiprocessing.Manager().Queue() .父级推送到队列,子项弹出。管理器似乎是一个不必要的中间步骤,因为有一个多处理。队列,但实现要简单得多,不易出现死锁和其他错误。

http://docs.python.org/library/multiprocessing.html#multiprocessing.managers.SyncManager.Queue

最新更新