Получение атрибутов пакета Python, имя которого у меня нет, до времени выполнения - PullRequest
2 голосов
/ 23 января 2009

В пакете 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

1 Ответ

5 голосов
/ 23 января 2009

Если я правильно понимаю, что вы хотите, я думаю, что примерно так должно работать:

def get_params(packagename):
    module = __import__('alpha.%s' % packagename)
    return module.__dict__['REQUIRED_PARAMS']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...