Python 是否导入模块路径中的所有模块?
Does Python import all modules in a module path?
假设我有以下结构。
main.py
/mod1
__init__.py
mod1.py
/mod2
__init__.py
mod2.py
我在 main.py
中有以下行。
import mod1.mod2
在这种情况下 mod1
是否也被导入?
是的。在解释器中试试这个:
import os.path
dir
os
如图所示,os
出现在主命名空间中。
是; mod1
也被导入,如果您不写这样的别名,您可以在代码中仅作为 mod1
访问 mod1
。
Python 需要连续导入模块,以便能够导入最后一个模块。您可以通过将打印语句放入 __init__.py
文件
中来测试这一点
假设我有以下结构。
main.py
/mod1
__init__.py
mod1.py
/mod2
__init__.py
mod2.py
我在 main.py
中有以下行。
import mod1.mod2
在这种情况下 mod1
是否也被导入?
是的。在解释器中试试这个:
import os.path
dir
os
如图所示,os
出现在主命名空间中。
是; mod1
也被导入,如果您不写这样的别名,您可以在代码中仅作为 mod1
访问 mod1
。
Python 需要连续导入模块,以便能够导入最后一个模块。您可以通过将打印语句放入 __init__.py
文件