python - 相对导入适用于 from 但导入失败
问题描述
我需要在 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
有关规则的完整细分,请参阅pep328 中的语法定义,您对导入应该如何工作的直觉在底部被提及为“不可用”。
推荐阅读
- python - 在扩展测试类的同时执行 python 子进程
- powerbi - Power BI 开关功能
- android - com.google.zxing.NotFoundException - 在 Android 中从图库中扫描 QR 图像时
- xamarin.forms - 在 xamarin.forms UI 中使用 Detect Shake 功能多次调用
- c# - 更改几个相互影响的editText框中的值
- c# - Bootrstrap网格布局不适用于四个gridview表C#
- java - 无论如何要让 Adobe Air Application 保持套接字打开直到下载完成?
- c# - Roslyn 打开解决方案 NullReferenceException
- python - 对于范围内的 x 只能工作 5 次
- java - 用于测试 docker 映像名称是否以注册表为前缀的正则表达式?