导入多个 subdirectories/modules 就像它们只是一个模块一样

Import multiple subdirectories/modules as if they are just one module

所以我有一个名为 A 的 module/directory,它有 init.py 文件,其中还有另一个名为 B 的 module/directory,它有它的init.py 和一个名为 function.py 的文件,它有一个名为 dummy()

的函数

这是目录结构

A
|-- __init__.py
|
|-- B
    |
    |-- __init__.py
    |-- function.py

所以我想要的是在包含目录 A 的同一目录中并执行此操作

from A import *
dummy()

我所做的就是在 B/init.py

from dummy import *

A/init.py

import B

我可以做到

from A.B import *

我想写A而不是A.B

我稍微更改了您的导入代码,它现在似乎可以像您想要的那样工作了。 所以在B目录的init.py里面有:

# __init__.py in B
from .function import *

A目录下的init.py:

# __init__.py in A
from .B import *

现在,当我在包含 A 的目录中 运行 Python shell 并使用 from A import * 时,它调用 dummy() 没有问题。

但是,Python 中有关于使用通配符导入的讨论。例如检查此 post:Should wildcard import be avoided?