【发布时间】:2015-04-22 16:00:51
【问题描述】:
我正在编写一个 Python 程序,其中主脚本使用来自命令行、配置文件等的公共数据初始化几个变量。我希望程序的其余部分能够作为全局变量访问它们:
def abc() :
global xyz
_someOptionValue = xyz['someOptionName']
...
它不起作用。我认为这是因为全局是在main.py(例如)中定义的,而引用它的函数是在abc.py(例如)中定义的。因此,函数的全局命名空间与主脚本的命名空间不同。
我想我应该能够通过用主脚本的命名空间的名称来限定它的名称来获取全局变量,但是那个命名空间的名称是什么?
上下文:我目前将这些变量作为参数传递,并且我知道许多程序员认为这是一种更简洁的解决方案。在这种情况下,我不会因为变量设置一次,然后在整个程序中读取。在我看来,这是使用全局变量最可能的情况(也是唯一合理的情况)。如果您认为我不应该这样做,我尊重您的意见,但我不同意;请尊重我的!
【问题讨论】:
-
包含全局的主脚本的名称是什么?