下面是我的文件夹结构。
My_Project
|
+-- Project
|
+-- file1.py
|
+-- folder1.py
|
+-- folder2.py
|
+--file2.py
有人可以帮助我如何将file2.py中的file1.py作为模块导入吗?
到现在为止,我已经尝试使用这种无效的方法
从Project.file1导入some_function,该函数未返回名为“ Project”的模块
我也尝试过:
from ...file1 import some_function
这返回了,但没有父包的相对导入尝试。
答案 0 :(得分:0)
我找到了卡梅伦的答案:
默认情况下不能。导入文件时,Python仅搜索当前目录,入口点脚本运行所在的目录以及sys.path,其中包括诸如软件包安装目录之类的位置(实际上比这稍微复杂一点,但这涵盖了大多数情况下。)
但是,您可以在运行时将其添加到Python路径:
# some_file.py
import sys
# insert at 1, 0 is the script path (or '' in REPL)
sys.path.insert(1, '/path/to/application/app/folder')
import file
编辑:后来我找到了乔伊的答案:
没问题:
from application.app.folder.file import func_name
只需确保文件夹中还包含一个 init .py,即可将其作为软件包包含在内。不确定为什么其他答案谈论PYTHONPATH。