名前がわからないPythonパッケージの属性を実行時まで取得する

StackOverflow https://stackoverflow.com/questions/474331

  •  19-08-2019
  •  | 
  •  

質問

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']
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top