繁体   English   中英

Python - 如何使用模块的别名来导入其子模块?

[英]Python - How can you use a module's alias to import its submodules?

我有一个很长的模块名称,我想避免在我的文档中多次输入它。 我可以简单地import long_ass_module_name as lamn并以此方式调用它。 但是,此模块有许多子模块,我希望导入和使用它们。

在这种情况下,我将无法编写import lamn.sub_module_1因为python import无法识别我为long_ass_module_name创建的别名。 我怎样才能做到这一点?

我应该只是自动导入主模块的__init__.py所有子模块吗?

导入子模块时,别名对象仍会更改,

import my_long_module_name as mlmn
import my_long_module_name.submodule

mlmn.submodule.function()

import语句始终采用模块的全名。 该模块只是一个对象,导入子模块将为该对象添加一个属性。

这种(非常不可推荐的)将对象的所有成员导入当前命名空间的方法通过查找vars()字典来工作:

import my_bad_ass_long_module.bafd as b

# get __dict__ of current namespace
myn = vars() 
for k,v in vars(b).items():
  # populate this namespace with the all the members of the b namespace (overwriting!)
  myn[k] = v

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM