留下__init__.py空白似乎不起作用

时间:2014-05-13 06:49:55

标签: python-3.x import

我有一个非常简单的文件设置:

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时似乎没有激活,那么我的问题是什么?

1 个答案:

答案 0 :(得分:0)

它不会像这样工作。由于package.foo中没有foo,您无法访问package.__init__。由于__init__中的代码无法导入file_1file_1.foo

您可以import package.file_1然后访问package.file_1.foofrom package.file_1 import foo,然后访问foo

也可能没有__init__.py