假设我有以下内容:
src/
__init__.py
a.py
b.py
假设
__init__.py
是一个空文件,而a.py
只有一行代码:TESTVALUE = 5
假设
b.py
是以下代码:from src import a
print(a.TESTVALUE)
现在在Python 2.7和Python 3.x中,运行b.py
会得到结果(5
)。
但是,如果我删除文件__init__.py
,b.py
在Python 3.x中仍然可以工作,但在Python 2.7中,我会得到错误:
Traceback (most recent call last):
File "b.py", line 5, in <module>
from src import a
ImportError: No module named src
为什么Python 2.7在这种情况下表现出不同的行为?