런타임까지 이름이 없는 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