存在三个模块。配置,主要和组件
配置文件
value = 0
组件.py
import Cfg
class index:
def GET(self):
return Cfg.value
主文件
from Test import Cfg
import Component
urls = ('/', 'Component.index')
if __name__ == '__main__':
Cfg.value = 1
app = web.application(urls, globals())
app.run()
Component.Index 的 Get 方法返回 0,但我期待 1。我错过了什么?
编辑#1
首先修改 main.py 进行测试:
from test import Cfg
import Component
import test
if __name__ == '__main__':
importedCfg = id(Cfg)
cfgInComponent = id(Component.Cfg)
cfgInTest = id(test.Cfg)
print importedCfg, cfgInComponent, cfgInTest
print importedCfg == cfgInComponent == cfgInTest
结果 :
36202928 36203088 36202928 假
main.py 中的第二次修改:
import Cfg
import Component
if __name__ == '__main__':
importedCfg = id(Cfg)
cfgInComponent = id(Component.Cfg)
# cfgInTest = id(test.Cfg)
print importedCfg, cfgInComponent
print importedCfg == cfgInComponent
36858160 36858160 真
如果您不想创建多个实例,则应遵循第二种方式。