2017-03-17 13 views
1

私はPythonにはかなり新しいので知識の不足をお詫びします。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] 

どうすればいいですか?

答えて

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 
+0

、これはあなたがこれを行うだろうかですが、あなたはおそらくすべきではありません。)ただ、好奇心のうち –

+0

を、なぜありませんか? – forteddyt

+0

@AnthonySottile – forteddyt

関連する問題