代码之家  ›  专栏  ›  技术社区  ›  Lukas Thaler

导入python模块和alias子模块

  •  1
  • Lukas Thaler  · 技术社区  · 6 年前

    Python3.7是否提供了一种只导入模块和别名子模块的方法? 假设我有一个名为 module ridiculously_long_submodule_name short_submodule

    有没有办法给子模块起别名,这样我就可以通过 module.short_submodule ? 我试过明摆着的 from module import ridiculously_long_submodule_name as module.short_submodule 我真的很想避免在导入它时前面没有主模块名,因为与我的代码的其余部分有混淆的问题

    1 回复  |  直到 6 年前
        1
  •  5
  •   user2357112    6 年前

    没有专门的别名语法 module.ridiculously_long_submodule_name 作为 module.short_submodule ,虽然您可以通过手动操作来处理模块的属性,但这不是一个好主意。

    as 应该是发生导入的作用域的本地,以避免名称冲突,但是 module.short\u子模块 到您想要的子模块将是一个全局更改。程序中的所有代码都会看到它,因为除非你对 __getattribute__

    偶数编码 module 将看到意外的新全局变量。如果这部小说的作者 有没有想过使用 short_submodule

    就这么做吧 import module.ridiculously_long_submodule_name as submod . 不要试图把一个 module. 别名的前缀。