从不同文件夹级别导入一个类-Python

问题描述 投票:0回答:1

我正在为序列模型编写序列,并且具有以下目录结构

MyProject/
     models/ 
          - __init__.py
          - Encoder.py
     train/
          - __init__.py
          - Train.py

虽然在Train.py中,尽管尝试使用以下语法,但我仍无法从Encoder.py导入BiDirectionalEncoder类

from models.Encoder import BiDirectionalEncoder 
from ..models.Encoder import BiDirectionalEncoder

是否有解决此问题的整洁方法?我不想使用任何sys.path.append()强制添加路径我在Spyder 4.0.1中使用Python 3.7.6谢谢!

python class import subdirectory
1个回答
0
投票

在同一软件包中,您可以进行相对导入,但是由于您要退出当前软件包,因此您需要进行绝对导入。

from MyProject.models.Encoder import BiDirectionalEncoder 
© www.soinside.com 2019 - 2024. All rights reserved.