我想以我的工作目录作为项目主目录加载一个函数/模块,但函数文件存储在子目录级别以下,所以正常from function_file import function_name不起作用。这是项目目录设置的样子:└───project_main_directory │ .gitattributes │ .gitignore │ README.txt │ ├───code │ ├───exploration │ └───scripts │ │ script1.py │ │ script2.py │ │ script3.py │ │ │ └───functions │ │ function1.py │ │ function2.py │ └───__init__.py │ ├───data │ └───example_data │ data.csv └───documents所以我尝试通过导入函数import code.scripts.function.function1 from function1这是行不通的。我知道这是因为其他子目录不是模块,但我想问一下附近是否有?-- 编辑我正在使用 code/scripts/script1.py 中的 .py 文件,但工作目录是 project_main_directory/
3 回答
侃侃无极
TA贡献2051条经验 获得超10个赞
__init__.py在每个子目录中添加一个空文件,使它们成为模块。
.
├── code
│ ├── __init__.py
│ └── scripts
│ ├── __init__.py
│ └── script1.py
└── main.py
然后,如果您调用hello了一个函数,则code/scripts/script1.py可以通过以下方式导入该函数:
from code.scripts.script1 import hello
hello("yo")
慕姐8265434
TA贡献1813条经验 获得超2个赞
如果您当前的目录是 project_main_directory,则可以使用:
from code.scripts.functions.function1 import function1
您的脚本目录无关紧要。只有您当前的目录很重要(请参阅 IDE 的顶部)
叮当猫咪
TA贡献1776条经验 获得超12个赞
要从另一个 python 文件导入函数/模块,您必须执行以下操作 -
from code.scripts.functions.function1 import function1
上面我们从存储在functions目录中的function1.py文件中加载function1,该目录存储在scripts目录中,最后在code目录中。
编辑 - 所以你是说,你想从 script1.py 中的 function1.py 加载一个函数?在那种情况下from .functions.function1 import function
应该工作。
添加回答
举报
0/150
提交
取消