我有一个config.py脚本,其中包含前置信息。我可以使用execfile()函数读取配置文件的内容。
execfile("config.py")
print PREAMBLE
>>> "ABC"
然而,当在方法中调用execfile()时,我会遇到一个错误。
def a():
execfile("config.py")
print PREAMBLE
a()
>>> NameError: "global name 'PREAMBLE' is not defined"
什么出了问题,该如何解决?
from whatever import a; a()
不会将PREAMBLE
加载到当前命名空间中,因为它使用了a
的全局字典而不是调用它的人的全局字典。 - user2357112