python - 相对导入适用于 from 但导入失败

标签 python import

我需要在 python 中使用相对导入,所以我这样做:

from .MyModule import MyClass

它有效:)

但是有时我不想显式导入 MyClass,而是导入 MyModule 并通过执行 MyModule.MyClass 访问我的类

所以我很乐意这样做:

import .MyModule

my_instance = MyModule.MyClass()

但是,将点放在 import 之后似乎是无效语法,即使它在 from 之后是有效的

我想保留对 MyClass 的访问作为 MyModule 的一部分,因此我被迫执行 MyModule.MyClass 并在同时我需要进行 MyModule

的相对导入

我怎样才能实现这个目标

最佳答案

相对导入语法需要 from 语句才能工作。如果访问的模块位于同一文件夹中,则点是它需要的唯一参数:

from . import MyModule

my_instance = MyModule.MyClass()  # works

参见the syntax definition in pep328对于规则的完整分割,您对导入应该如何工作的直觉在底部被提到为“不可用”。

关于python - 相对导入适用于 from 但导入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57769409/

相关文章:

python - 合并 2 个数据框,然后将它们分开

Python - 引用的包是其他包的属性

python - OpenCv 链接器错误 : Symbol not found: ___itt_api_version_ptr__3_0

python - 如何从非声明性对象自动生成 SQLAlchemy 架构?

android - 将 Android-Gradle 项目导入 Android Studio

magento - 以编程方式设置自定义客户属性值 Magento 2

python:列出包内的模块

java - 允许 Java 应用程序用户导入要在程序中显示的图像

python - 将多个项目添加到字典中

python - 如何在Python中比较两个文本文件并将重复出现的内容保存在文件中