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

时间:2012-10-04 06:22:05

标签: python python-2.7

我是python的新手并且在尝试在两个脚本之间定义共享变量时获得了库存,这样父脚本中共享变量的任何值更改都会立即“同步”到子脚本。

例如:

  1. 每两秒,Parent.py将值1到3输入到共享变量A,一次输入一个
  2. Child.py一直在等待A的值更改并将其打印出来。
  3. 所以我们应该得到类似的东西:

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

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

    谢谢!

1 个答案:

答案 0 :(得分:0)

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

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