我有一个如下所示的文件夹结构:
\test
main.py
\module
__init__.py
foo.py
main.py
包含:
from module.foo import bar
bar()
__init__.py
包含:
HELLO = "hello"
foo.py
包含:
def bar():
print(HELLO)
当我在命令行python main.py
中运行时,我收到错误:
NameError: name 'HELLO' is not defined
我不明白为什么__init__.py
没有将HELLO
变量传递给foo.py
答案 0 :(得分:1)
在foo.py中,添加
from . import HELLO
因此导入变量HELLO
。
变量HELLO
的完全限定名称为module.HELLO
。这意味着HELLO
在包module
中定义。
答案 1 :(得分:1)
要定义此常量,您需要导入模块。
例如:
在foo.py
中,你必须:
from module import HELLO
def bar():
print(HELLO)