名前がわからないPythonパッケージの属性を実行時まで取得する
質問
Pythonパッケージには、(おそらく)サブパッケージの名前を含む文字列があります。そのサブパッケージから、定数のタプルを取得したい...しかし、これをどのように進めるべきかさえ本当にわからない。
#!/usr/bin/python
"" The Alpha Package
Implements functionality of a base package under the 'alpha' namespace
""
def get_params(packagename):
# Here, I want to get alpha.<packagename>.REQUIRED_PARAMS
pass
したがって、後のコードで次のようになります。
#!/usr/bin/python
import alpha
alpha.get_params('bravo') # should return alpha.bravo.REQUIRED_PARAMS
alpha.get_params('charlie') # should return alpha.charlie.REQUIRED_PARAMS
解決
あなたが望むものを正しく理解していれば、おおよそこのようなことがうまくいくと思います:
def get_params(packagename):
module = __import__('alpha.%s' % packagename)
return module.__dict__['REQUIRED_PARAMS']
所属していません StackOverflow