Python 3.x 通过字典在python中动态导入

Python 3.x 通过字典在python中动态导入,python-3.x,Python 3.x,我需要使用字典导入模块,我想循环遍历字典并导入它。比如说 items = { 'Initial_Load': 'initial_load', 'Disclaimer': 'disclaimer_tests', 'Menu': 'menu_tests' } 这些项目应转换为 from Inital_Load import initial_load from Disclaimer import disclaimer_tests from Menu import menu_t

我需要使用字典导入模块,我想循环遍历字典并导入它。比如说

items = {
    'Initial_Load': 'initial_load',
    'Disclaimer': 'disclaimer_tests',
    'Menu': 'menu_tests'
}
这些项目应转换为

from Inital_Load import initial_load
from Disclaimer import disclaimer_tests
from Menu import menu_tests
甚至可能吗?

这用于导入模块,然后使用
getattr
从模块名称空间解析名称:

from importlib import import_module

def import_dict(d):
    result = {}
    for module_name, attr_name in d.items():
        module = import_module(module_name)
        result[attr_name] = getattr(module, attr_name)
    return result

import_dict({"math": "sqrt"})["sqrt"](4)
# 2.0

令人惊叹的。结果很好。非常感谢。