我正在尝试运行从另一个文件夹导入 .py 文件的代码。层次结构如下:
这是我在 AppiumTest 文件中调用导入的代码部分:
from appium import webdriver
import unittest
from test.pageObj.LoginPage import LoginActivity
from test.pageObj.HomePage import HomeActivity
尝试运行时出现此错误消息:
<块引用>ModuleNotFoundError: 没有名为“test.pageObj”的模块
我错过了什么?
答案 0 :(得分:1)
试试:
from pageObj.LoginPage import LoginActivity
from pageObj.HomePage import HomeActivity
答案 1 :(得分:1)
你能不能试试下面的代码,看看它是否有效?
从 pageObj.LoginPage 导入 LoginActivity
从 pageObj.HomePage 导入 HomeActivity
答案 2 :(得分:1)
from .HomePage import HomeActivity
from .LoginPage import LoginActivity
from test.pageObj import HomePage
from test.pageObj import LoginPage
Python 定义了两种类型的包,常规包和命名空间包。常规包是传统包,因为它们存在于 Python 3.2 及更早版本中。常规包通常实现为包含 init.py 文件的目录。导入常规包时,会隐式执行此 init.py 文件,并且它定义的对象绑定到包命名空间中的名称。 init.py 文件可以包含任何其他模块可以包含的相同 Python 代码,并且 Python 会在导入模块时为该模块添加一些额外的属性。
答案 3 :(得分:1)
您不需要在导入语句中包含父目录。 from pageobj import LoginActivity
应该可以工作。