从 Python 模块导出所有内容或从模块导入所有内容

时间:2020-12-21 19:43:13

标签: python python-3.x

这可能在互联网上的某个地方写得很好(甚至在 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 中是否有类似的可能?

1 个答案:

答案 0 :(得分:2)

如前所述,在导入模块时,您实际上是在导入其 __init__.py 文件。 处理此问题的正确方法是在 mymodule/__init__.py 中导入您需要的任何内容,然后所有这些导入将可供导入 mymodule 的任何人使用。

相关问题