python - 如何使 python 导入模块和文件夹一起导入?

标签 python python-3.x

目前我有以下目录

my_epic_module
-> .gitignore
-> my_epic_module.py
main.py

当我尝试从 main.py 导入 my_epic_module.py 时,我执行以下操作

# the following does not work
import my_epic_module
my_epic_module.bar("foo")

# the following works
from my_epic_module import my_epic_module
my_epic_module.bar("foo")

我该如何制作它,以便我可以像上面的第一个示例一样“正常”导入它?我需要添加 __init__.py 吗?如果是这样我需要放入什么?

最佳答案

python module 是一个文件。带有 __init__.py 的文件夹是一个包。它们都可以与 import 语句一起使用。

如果你想使用import my_epic_module,你有几种方法来实现它。

my_epic_module.py放在顶部文件夹

或者

__init__.py 添加到 my_epic_module 文件夹,并将 from .my_epic_module import * 添加到 __init__.py 文件

或者

my_epic_module文件夹添加到sys.path

关于python - 如何使 python 导入模块和文件夹一起导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46801798/

相关文章:

python - 云函数文件名

python - python中r替代的rm()函数

python - 为什么 math.modf 返回 float ?

python - 如何使用flask将JSON数据显示到前端界面?

python - 在 try/except 中捕获特定的错误消息

python - 为什么 Python 不能从外部访问子函数?

python - 'TypeError' 类型的对象不是 JSON 可序列化的

python - ModuleNotFoundError : No module named 'gin'

python - 如何生成所有可能的 NXK 矩阵,其中每一行都是一个 onehot 向量

linux - Python3 linux 中的文件名编码问题