繁体   English   中英

ModuleNotFoundError: No module named - 尝试从另一个文件夹导入文件时

[英]ModuleNotFoundError: No module named - when attempting to import files from another folder

我正在尝试运行一个将 imports.py 文件从另一个文件夹中导入的代码。 层次结构如下:

在此处输入图像描述

这是我调用导入的 AppiumTest 文件中的代码部分:

from appium import webdriver
import unittest
from test.pageObj.LoginPage import LoginActivity
from test.pageObj.HomePage import HomeActivity

尝试运行时,我收到此错误消息:

ModuleNotFoundError:没有名为“test.pageObj”的模块

我错过了什么?

尝试:

from pageObj.LoginPage import LoginActivity
from pageObj.HomePage import HomeActivity

你可以试试下面的代码,看看它是否有效?

从 pageObj.LoginPage 导入 LoginActivity

从 pageObj.HomePage 导入 HomeActivity

  1. __ init __.py in pageObj
from .HomePage import HomeActivity
from .LoginPage import LoginActivity
  1. AppiumTest.py
from test.pageObj import HomePage
from test.pageObj import LoginPage
  1. package 和 __ 初始化 __

Python 定义了两种类型的包,常规包和命名空间包。 常规包是传统包,因为它们存在于 Python 3.2 和更早版本中。 常规 package 通常实现为包含init .py 文件的目录。 当一个常规的 package 被导入时,这个init .py 文件被隐式执行,并且它定义的对象被绑定到包命名空间中的名称。 init .py 文件可以包含与任何其他模块可以包含的相同的 Python 代码,并且 Python 将在导入模块时为其添加一些附加属性。

您不需要在导入语句中包含父目录。 from pageobj import LoginActivity应该可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM