代码之家  ›  专栏  ›  技术社区  ›  Michael

Python包:导入子模块并重命名它?

  •  0
  • Michael  · 技术社区  · 2 年前

    我正在创建 timecode 具有以下布局的python包:

    timecode/
        __init__.py
        timecode.py
        timecoderange.py
        modes.py
    

    timecode.py 包含一个名为的类 Timecode . timecoderange.py 包含的类 TimecodeRange . modes.py 包含一个抽象类和几个子类( DropFrame NonDropFrame )其旨在与 时间代码 时间代码范围 类。


    当有人使用我的时间代码库时,我希望他们能够导入以下内容:

    from timecode import Timecode, TimecodeRange, Modes
    

    …这样他们就可以参考下面的模式 Modes 命名空间:

    tc = Timecode("01:00:00:00", mode=Modes.NonDropFrame())
    

    这终于引出了我的问题 :我该怎么带我的 modes 子模块作为 模式 首都 M )? 在里面 __init__.py 我尝试过:

    from . import modes as Modes
    

    但这不起作用。当我稍后尝试使用 时间代码 库使用 from timecode import Modes ,我明白 ModuleNotFoundError: No module named 'timecode.Modes' .

    0 回复  |  直到 2 年前