2009-01-23 2 views
2

파이썬 패키지에는 하위 패키지의 이름이 포함 된 문자열이 있습니다. 그 서브 패키지에서, 나는 상수들의 튜플 (tuple)을 가져오고 싶다 ... 나는 이것을 수행하는 방법을 정말로 알지 못한다.런타임까지 이름이없는 파이썬 패키지의 속성 얻기

그래서
#!/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 

답변

5

내가 정확하게 당신이 원하는 것을 이해한다면, 나는 대략 이런 식으로 뭔가가 작동해야한다고 생각 :

def get_params(packagename): 
    module = __import__('alpha.%s' % packagename) 
    return module.__dict__['REQUIRED_PARAMS']