导入与当前目录同级的其他目录下的包

在dayaset_contra.py文件下想导入labelmaps.py中的包

sys.path.append("..")   #进入山曾目录
from utils.labelmaps import get_vocabulary, labels2strs
而且要求utils下必须有__init__.py文件

而且必须是

进入到dataset目录下执行python dataset_contra.py

因为如果使用python lib/dataset/dataset_contra.py 这样执行的话,是不能用相对路径表示方法的

如果没有精确到utils下的labelsmaps文件,想from utils import get_vocabulary, labels2strs的话,那就要在utils下的__init__.py里面定义好了才行

导入上级目录下的某个py文件
这样就不需要有__init__.py了

像我在上层目录下的logger_self_code.py这样就可以导入成功

sys.path.append('..')
from logger_self_code import Logger
比如想在test.py中导入logger_self_code.py

 

导入同级目录
.
└── src/
├── main.py
└── util.py
在main.py中,

from util import doSomethingCool

from .util import doSomethingCool
这么写都是不行的, 因为util只是个模块,不是个包

只能写

import util
如果非想上面那样的话,就要改成

.
└── src/
├── main.py
└── utils/
├── __init__.py
└── util.py
文章知识点与官方知识档案匹配,可进一步学习相关知识
————————————————
原文链接:https://blog.csdn.net/hxxjxw/article/details/119953927

 posted on 2023-01-12 15:59  xibuhaohao  阅读(484)  评论(0)    收藏  举报