【发布时间】:2016-04-30 09:46:42
【问题描述】:
假设我有:
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 在这种情况下会表现出不同的行为?
【问题讨论】:
标签: python python-2.7 python-3.x import