将一个类导入另一个文件夹中的另一个类

时间:2018-11-11 13:05:49

标签: python python-3.x

我有一个名为“ container”的文件夹,其中有两个类:

  1. VisitorPage.py
  2. TestMethods.py
  3. __init__.py

我想在TestMethods类中导入“ VisitorPage”,以便可以使用其方法。

我尝试了以下操作,但尚未成功。

from .containers import VisitorPage

错误:

from .containers import VisitorPage
ModuleNotFoundError: No module named 'tests.containers.containers'

第二种情况:

from containers import VisitorPage

错误

from containers import VisitorPage
ModuleNotFoundError: No module named 'containers'

方案3:

import containers.VisitorPage

错误:

import containers.VisitorPage
ModuleNotFoundError: No module named 'containers'

有人可以让我知道正确的方法吗?谢谢

1 个答案:

答案 0 :(得分:1)

错误告诉您问题所在。 VisitorPageTestMethods都在文件夹containers中。使用.是指当前模块。使用.containers意味着您正在containers中搜索模块containers

我的猜测是您的项目结构是

containers/
|- VisitorPage.py
|- TestMethods.py

如果是这种情况,那么只需在TestMethods.py

import VisitorPage

否则,您需要将containers放在目录中,以便目录结构为

project/    
    |-containers/
         |- VisitorPage.py
         |- TestMethods.py

其中project是根目录。

因此,在TestMethods.py内,您使用相对导入来导入VisitorPage

from . import VisitorPage

或者如果您想使用绝对导入

from containers import VisitorPage