Import 从python中的不同文件夹/模块导入
我有以下文件夹结构Import 从python中的不同文件夹/模块导入,import,python-import,Import,Python Import,我有以下文件夹结构 project\ main.py datasets\ __init__.py custom_data.py models\ __init___.py model1.py model2.py func.py 我想在自定义_数据中导入func.p
project\
main.py
datasets\
__init__.py
custom_data.py
models\
__init___.py
model1.py
model2.py
func.py
我想在自定义_数据中导入func.py。(不使用辅助库)
主函数使用以下命令导入自定义_data.py:
from datasets.custom_dataset import build as build_dataset
当代码运行custom_dataset时,它找不到模块func
ModuleNotFoundError:没有名为“func”的模块
我已经尝试过在stackoverflow这里看到的任何东西:
从..模型导入函数
从project.models导入func
我甚至尝试在数据集中复制func.py作为副本,但它根本不起作用(当我在自定义_data.py中使用func函数时,它起作用,但当我从main.py文件调用它时,它不起作用)
有人能帮我吗?可能是因为我在使用windows吗?
我知道我可以找到很多其他与此相关的问题,但没有一个对我有任何帮助。首先,您的目录结构看起来不错。但是,您应该将
models/\uuuu init\uuu.py
重命名为models/\uuu init\uuuu.py
关于这一行:
from datasets.custom_dataset import build as build_dataset
我想你的意思是:
from datasets.custom_data import build as build_dataset
因为您的文件名是custom_data.py
而不是custom_dataset.py
最后,对于导入func
内部的custom_data.py
,您只需执行以下操作:
from models import func
内置custom_data.py
原因是:
from ..models import func
不起作用是因为像这样的“相对”导入只能在包内正常工作。答案中或多或少有解释,所以我不会在这里重复细节
希望这有帮助 事实上,当我加上蟒蛇后,一切都很好,有一段时间我不太记得了。非常感谢。