我有一个非常简单的文件设置:
test.py
package/
__init__.py
file_1.py
每个文件的内容为:
# in test.py
import package
# in file_1.py
foo = 5
__init__
文件为空。有人多次告诉我,将__init__
文件留空是完全没问题的。那么,为什么test.py
我无法通过foo
来访问package.foo
?这对我来说似乎微不足道,但我无法弄清楚为什么它不起作用。如果我在file_.py
中放置一个打印功能,但在运行test.py
时似乎没有激活,那么我的问题是什么?
答案 0 :(得分:0)
它不会像这样工作。由于package.foo
中没有foo
,您无法访问package.__init__
。由于__init__
中的代码无法导入file_1
或file_1.foo
。
您可以import package.file_1
然后访问package.file_1.foo
或from package.file_1 import foo
,然后访问foo
。
也可能没有__init__.py
。