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 文件

中来测试这一点