抱歉,Python中的全局变量让我发疯。我阅读了manual以获得在模块之间共享全局变量的解决方案。它工作正常。但问题是,我不想在我的程序中为全局变量编写模块前缀!整个想法是一个模块预备了许多短命名的全局快捷方式,我想在另一个没有任何模块前缀的模块中使用这些快捷方式,因为它们是SHORTcuts!
#config.py:
x = 0 # Default value of the 'x' configuration setting
#mod.py:
import config
config.x = 1
#main.py:
import config
import mod
print config.x # outputs 1, as desired
所以这个工作正常,但只要我们将mod.py修改为
from config import x
print 'mod.py:', x
x = 1
print 'mod.py:', x
输出变为
mod.py: 0
mod.py: 1
0
所以,如果我做得好,模块配置的全局克隆到模块mod的全局,那么它会成为2个不同的对象?但是有没有解决方案,2个模块可以在SAME SHORTcut下操作SAME对象而没有明确的模块名称规范?