ModuleNotFound:我如何从同一项目中的其他文件夹导入对象?



我有以下项目结构,我想将函数"get()"从Folder_A的main.py中导入到Folder_BA的model.py文件中。

Project
|_____ Folder_A
|          |_____ main.py
|          |_____ model.py
|          |_____ constants.py
|          |_____ functions.py
|
|_____ Folder_B
|_____ Folder_BA
|         |_____ main.py
|         |_____ model.py
|         |_____ functions.py
|
|_____ Folder_BB
|_____ main.py
|_____ model.py
|_____ functions.py

我尝试在model.py文件中从文件夹BA中编码以下代码,但它不起作用:

from Folder_A.main import get
ModuleNotFoundError: No module named 'Folder_A'

谢谢。

从这个答案

默认不允许。导入文件时,Python只搜索运行入口点脚本的目录和sys。路径,它包含诸如包安装目录之类的位置(实际上比这更复杂,但这涵盖了大多数情况)。

你可以这样做:

  1. 尝试将你的文件结构成包,在文件夹中添加一个__init__.py空文件,以便它可以导入到其他文件。

  2. 您可以使用sys添加新路径,然后只使用常规导入

sys.path.append('/path/to/Project/Folder_A')
from main import get

最新更新