怎么使用Importlib从模块导入*?

本教程将介绍如何使用Importlib从模块导入*?的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

怎么使用Importlib从模块导入*? 教程 第1张

问题描述

我希望实现与使用from module import *相同的结果。

此问题Importing module with a local name using importlib介绍怎么操作import module as mod,两者相关但不相同。

推荐答案

若要模拟from X import *,您必须导入模块,然后将适当的名称合并到全局命名空间中。

# get a handle on the module
mdl = importlib.import_module('X')

# is there an __all__?  if so respect it
if "__all__" in mdl.__dict__:
 names = mdl.__dict__["__all__"]
else:
 # otherwise we import all names that don't begin with _
 names = [x for x in mdl.__dict__ if not x.startswith("_")]

# now drag them in
globals().update({k: getattr(mdl, k) for k in names})

好了关于怎么使用Importlib从模块导入*?的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。