提问人:Michael 提问时间:5/2/2023 更新时间:5/2/2023 访问量:27
Python 包:导入子模块并重命名它?
Python Package: Import submodule and rename it?
问:
我正在创建一个具有以下布局的 python 包:timecode
timecode/
__init__.py
timecode.py
timecoderange.py
modes.py
timecode.py
包含一个名为 的类。 包含 的类。 包含一个抽象类和几个子类 ( 和 ),这些子类旨在与 和 类一起使用。Timecode
timecoderange.py
TimecodeRange
modes.py
DropFrame
NonDropFrame
Timecode
TimecodeRange
当有人使用我的时间码库时,我希望他们能够导入这样的东西:
from timecode import Timecode, TimecodeRange, Modes
...以便它们可以引用该命名空间下的模式:Modes
tc = Timecode("01:00:00:00", mode=Modes.NonDropFrame())
所以这最终把我带到了我的问题:我如何将我的子模块作为(大写)引入?在我试过:modes
Modes
M
__init__.py
from . import modes as Modes
但这行不通。当我稍后尝试使用 时,我得到 .timecode
from timecode import Modes
ModuleNotFoundError: No module named 'timecode.Modes'
答: 暂无答案
评论
from . import modes as Modes
应该是正确的,如果它不起作用,你有一个不同的问题。timecode
timecode.py
timecode.py
from .Modes import NonDropFrame
from . import Modes
Modes.NonDropFrame