【发布时间】:2010-09-29 17:57:03
【问题描述】:
我对 Python 比较陌生。我希望创建一个“设置”模块,其中将存储各种特定于应用程序的常量。
这是我想要设置我的代码的方式:
settings.py
CONSTANT = 'value'
脚本.py
import settings
def func():
var = CONSTANT
# do some more coding
return var
我收到一条 Python 错误说明:
global name 'CONSTANT' is not defined.
我在 Django 的源代码中注意到他们的 settings.py 文件有一些常量,就像我一样。我对如何将它们导入脚本并通过应用程序引用感到困惑。
编辑
感谢您的所有回答!我尝试了以下方法:
import settings
print settings.CONSTANT
我遇到同样的错误
ImportError: cannot import name CONSTANT
【问题讨论】:
-
这没有意义。如果
settings没有定义CONSTANT,你应该得到一个AttributeError,如果它不能导入设置,你应该得到一个ImportError,在这种情况下它甚至不会看CONSTANT -
那我是不是做错了什么?
-
将您最后发布的两行完全按照您发布的方式自己放入文件中,看看它是否有效。
-
感谢大家的帮助。我想到了。它与 init.py 文件的位置有关。我试图导入设置,所以 python 正在寻找找不到它,所以一旦我引用了“模块”目录设置,一切正常。所以基本上我的导入语句看起来像这样:从模块导入设置。我认为有一个更好的方法可以做到这一点,更 Pythonic,所以我将尝试不同的组合。再次感谢您的所有回答。
标签: python