Python - 动态导入模块并为其分配本地名称

时间:2017-03-17 03:40:33

标签: python python-3.x file python-import dynamically-generated

我对python很新,所以我为我缺乏知识而道歉。

这就是我要做的事情:

说我目前有以下

import pandas as py
import numpy as np
...
import somePackage as someName

我希望能够通过使用包和名称字典来实现这一目标,以实现类似的目标

imports = {'pandas' : 'py', 'numpy' : 'np' ... 'somePackage' : 'someName'}
for package in imports.keys():
    import package as imports[package]

我如何做到这一点?

1 个答案:

答案 0 :(得分:2)

内置函数__import__将执行动态导入,其中模块名称在变量中指定。您可以直接更新globals()来完成作业:

>>> imports = {'random':'r', 'statistics':'s'}
>>> for package, target in imports.items():
        globals()[target] = __import__(package)

>>> r.randrange(100)
16
>>> s.mean([10, 20, 61])
30.333333333333332