我有以下项目结构,我想将函数"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。路径,它包含诸如包安装目录之类的位置(实际上比这更复杂,但这涵盖了大多数情况)。
你可以这样做:
-
尝试将你的文件结构成包,在文件夹中添加一个
__init__.py
空文件,以便它可以导入到其他文件。 -
您可以使用
sys
添加新路径,然后只使用常规导入
sys.path.append('/path/to/Project/Folder_A')
from main import get