我有 2 个守护进程,它们应该访问相同的变量。
我为全局变量创建了第三个文件,每个守护程序都可以访问该变量。但是,当一个人更改变量时,另一个人仍然会看到默认值。
example:
glob.py
time = 0
守护进程a:
import datetime
import time
import glob
while(True):
glob.time = datetime.datetime.now()
time.sleep(30)
守护进程b:
import glob
while(True):
print(glob.time)
每次都会打印0
我希望我已经弄清楚了我的问题,并且有人可以帮助我。
如果您需要更多信息,请随时询问。
如何跨模块共享全局变量? https://docs.python.org/2/faq/programming.html#how-do-i-share-global-variables-across-modules
在单个程序中跨模块共享信息的规范方法是创建一个特殊的模块(通常称为 config 或 cfg)。只需在应用程序的所有模块中导入配置模块即可;然后该模块就可以作为全局名称使用。因为每个模块只有一个实例,所以对模块对象所做的任何更改都会反映到各处:
import time
import glb
while(True):
glb.t += 1
time.sleep(3)
print glb.t
b.py:
import glb
import a
while(True):
print(glb.t)
glb.py:
t = 0
启动a.py后输出:
python b.py
1
2
3
4
5
6
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)