Mic*_*rie 6 python import python-2.7 python-3.x
假设我有:
src/
__init__.py
a.py
b.py
Run Code Online (Sandbox Code Playgroud)
假设__init__.py是一个空文件,a.py只是一行:
TESTVALUE = 5
Run Code Online (Sandbox Code Playgroud)
假设b.py是:
from src import a
print(a.TESTVALUE)
Run Code Online (Sandbox Code Playgroud)
现在在Python 2.7和Python 3.x中,running都b.py给出了result(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
Run Code Online (Sandbox Code Playgroud)
为什么Python 2.7在这种情况下表现出不同的行为?