这可能在互联网上的某个地方写得很好(甚至在 SO 上),但我找不到。
假设我有一个像下面这样的 Python 项目结构
mymodule
|—-__init__.py
|—-a.py
|—-b.py
|—-c.py
main.py
现在,我想从 main.py
导入 mymodule
中的所有内容,这意味着我希望能够执行以下操作:
import mymodule
mymodule.a.something()
mymodule.b.something_else()
我不想做以下事情:
import mymodule.a
import mymodule.b
import mymodule.c
我怎样才能做到这一点?例如,在 JS ES6 中,您将创建一个文件 mymodule.js
,您可以在其中导入要导出的所有内容,然后将其导出。 Python 中是否有类似的可能?
答案 0 :(得分:2)
如前所述,在导入模块时,您实际上是在导入其 __init__.py
文件。
处理此问题的正确方法是在 mymodule/__init__.py
中导入您需要的任何内容,然后所有这些导入将可供导入 mymodule
的任何人使用。