将脚本目录添加到系统搜索路径
import os, sys
from pathlib import Path
sys.path.append(str(Path(__file__).parent))
举个例子:我的程序目录如下

在train.py中调用data_loader.py中的类MyLoader()只需要逐级导入;
from data_process.data_loader import MyLoader
这个时候如果data_loader.py要调用它的同级目录下的其他脚本中的类,比如:data_loader.py中导入pre_process中的Process()
直接在data_loader.py中写 from pre_process import Process 在data_process目录下可以运行,在train中跑不通,要想在train中跑通,需要在前面加点,变成 from .pre_process import Process
加点之后,data_process下跑data_loader跑不通;
那我外层可导入内层脚本,内层脚本又可以独立跑,这个时候就需要把脚本目录添加到系统路径了!
从本地目录运行的脚本都会先运行本地目录下的__init__.py 文件,所以,可以包导入系统目录写入脚本;
本文介绍了如何在Python中将脚本目录添加到系统搜索路径,以解决跨目录导入模块的问题。通过示例解释了在train.py中调用data_loader.py,以及data_loader.py如何导入同级目录下的pre_process模块。当需要在不同目录下执行脚本并保持导入正常时,这种方法确保了脚本的可运行性。
2242

被折叠的 条评论
为什么被折叠?



