导入多个 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?
所以我有一个名为 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?