如何以编程方式设置全局(模块)变量?
- 论坛
- 如何以编程方式设置全局(模块)变量?
14 浏览
如何以编程方式设置全局(模块)变量?
我希望以一种"编程"的方式定义全局变量。类似于我想要做的是:
definitions = {'a': 1, 'b': 2, 'c': 123.4} for definition in definitions.items(): exec("%s = %r" % definition) # a = 1, etc.
具体来说,我想创建一个名为`fundamentalconstants`的模块,其中包含可以通过`fundamentalconstants.electron_mass`等方式访问的变量,所有的值都是通过解析文件获得的(因此需要以"编程"的方式进行赋值)。
现在,上述的`exec`解决方案可以工作。但我对它有些不安,因为我担心`exec`不是设置模块全局变量的最佳方法。