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
不起作用是因为像这样的“相对”导入只能在包内正常工作。答案中或多或少有解释,所以我不会在这里重复细节


希望这有帮助

事实上,当我加上蟒蛇后,一切都很好,有一段时间我不太记得了。非常感谢。