要从dataPreparation软件包中使用comUtil软件包的用户logr.py,必须如下调整其sys路径
import sys
sys.path.append('../')
import comUtil.logr as logg
现在的问题是
这是一种可接受的做法吗?这种用法有任何缺点吗?
还有哪些其他选择,可能还有更好的选择?
答案 0 :(得分:0)
一种解决方案是将路径设置到dataIngestionTool
。因为这是您项目的根目录。
然后将文件导入为:
from dataIngestionTool.comUtil.logr import *
或
from dataIngestionTool.comUtil import logr
答案 1 :(得分:0)
sys.path.append('../')
将此路径永久添加到列表中。现在,如果要在import a_random_module
中访问driver.py
,则程序包管理器还将开始在a_random_module
的父目录中寻找driver.py
。 我建议使用类似方法为sys添加特定路径:
import sys
import os
def append_specific_dir_to_sys_path():
current_dir = os.getcwd()
parent_dir = current_dir.split('/')[:-1]
import_dir = '/'.join(parent_dir) + '/comUtil/'
sys.path.append(import_dir)
append_specific_dir_to_sys_path()