python 3.7 是否提供了一种导入模块和仅别名子模块的方法?假设我有一个以module子模块命名的模块ridiculously_long_submodule_name,我想用它作为别名short_submodule
有没有办法只为子模块设置别名,以便我可以通过调用它module.short_submodule?我尝试了明显的from module import ridiculously_long_submodule_name as module.short_submodule导致语法错误的方法。我真的很想避免在没有主模块名称的情况下导入它,因为我的其余代码存在混淆问题
没有用于别名module.ridiculously_long_submodule_name为 as 的专用语法module.short_submodule,虽然您可能会弄乱模块的属性来手动完成,但这是一个坏主意。
使用 import 设置的别名as应该是导入发生的范围的本地,以避免名称冲突,但设置module.short_submodule为您想要的子模块将是全局更改。程序中的所有代码都会看到它,因为除非您对 非常着迷,否则__getattribute__没有“本地”对象具有属性这样的东西。
甚至代码中module也会看到一个意想不到的新全局变量。如果编写者module想使用这个short_submodule名称,这可能会导致非常严重的冲突,但即使没有这种情况发生,与其他库这样的混杂也会使必须维护或调试代码的人感到困惑,包括从 12 个月开始的你现在。
就做import module.ridiculously_long_submodule_name as submod。不要尝试module.在别名上添加前缀。
| 归档时间: |
|
| 查看次数: |
458 次 |
| 最近记录: |