python - Python 导入语句不适用于父包
问题描述
我正在使用 Python 3.9.5。
基于这篇文章,我正在尝试重用父目录中的一些功能。这是我的代码层次结构:
github_repository
src
base
string_utilities.py
validation
email_validator.py
我也有__init__.py
所有文件夹。在他们所有人中。
string_utilities.py
内容如下:
def isNullOrEmpty(text: str):
return text is not None and len(text) > 0
这是email_validator.py
内容:
from src.base import string_utilities
def is_email(text: str):
if string_utilities.isNullOrEmpty(text):
return False
# logic to check email
return True
现在,当我运行时python email_validator.py
,我收到此错误:
ModuleNotFoundError:没有名为“src”的模块
我已将令人沮丧的导入语句更改为所有这些不同的形式,但我仍然没有得到任何结果:
from ...src.base import string_utilities
这导致:
ImportError:尝试在没有已知父包的情况下进行相对导入
import src.base.string_utilities
这导致编译器不知道该isNullOrEmpty
函数。
import ...src.base.string_utilities
结果是:
相对导入不能与“import .a”形式一起使用;改用“from .import a”
我被困在如何在这个文件中重用该函数的问题上。有人可以帮忙吗?
解决方案
推荐阅读
- javascript - 如何从 Axios 获取 statusCode?
- python - 如何在 Confluence 中使用 Python SDK 获取文章的正文信息
- flutter - 如何防止 AppBar 覆盖自定义状态栏颜色
- sql-server - 如何将 Sql Server Management Studio v18.5 连接到本地主机
- python - aws:找不到与平台无关的库
- amazon-ec2 - Swapon --show 调整磁盘大小时不更新 gb 大小
- c# - 将列映射到 Dapper 中的数组
- java - IntelliJ Java 配置
- r - foreach 实现崩溃并在 R 中生成错误
- python - 删除所有布尔列都为 False 的行 - Python