【问题标题】:How to import functions from a given list of functions's name of a module?如何从给定的模块名称列表中导入函数?
【发布时间】:2021-02-07 05:50:36
【问题描述】:
from importlib import import_module as a
X= ["pi", "pow", "sin", " cos", "tan"]
for items in X:
    a(f"math.{items}")

这告诉我没有名为 math.pi 的模块。

请帮帮我

我只是想问一下如何使用这种方式导入方法或函数。

【问题讨论】:

  • 没有名为math.pi的模块。模块名称为math

标签: python list for-loop import-module


【解决方案1】:

使用getattr 访问模块对象,然后将其分配给全局符号表:

import importlib

importObjects = {
    'math': ["pi", "pow", "sin", "cos", "tan"], 
    'os': ['path']
}

for module, items in importObjects.items():
    module = importlib.import_module(module)
    for item in items:
        tmp = getattr(module, item)
        globals()[item] = tmp

print(pi)
print(path.exists)

输出:

3.141592653589793
<function exists at 0x10f1b6160>

【讨论】:

  • 非常感谢先生 :)
  • 先生您不知道您的一点帮助对我的学习造成了很大的打击。再次感谢,因为这些小东西不容易找到。
  • 您可能需要投票/接受答案,以防它解决您的问题,以便将来用于帮助他人。
猜你喜欢
  • 2012-04-06
  • 2011-02-07
  • 2016-08-27
  • 2012-12-18
  • 1970-01-01
  • 1970-01-01
  • 2011-07-29
  • 2012-07-12
  • 1970-01-01
相关资源
最近更新 更多