Как я могу получить объект модуля, соответствующий псевдониму импорта, используя строку? - PullRequest
0 голосов
/ 07 марта 2020

Что у меня есть:

from my_package import my_module as the_best_module

Что я хотел бы сделать:

{n: {"m": exec(n)} for n in alias_string_list}

Однако я хотел бы сделать это без использования exe c. Я хотел бы взять строку «the_best_module» и получить объект модуля the_best_module, чтобы я мог экспортировать словарь этих объектов и использовать их в другой части проекта.

1 Ответ

0 голосов
/ 07 марта 2020

Это то, что мне удалось:

{ n: {"m": getattr(sys.modules[__name__], m, None)}, for m in alias_string_list}

Я получаю модуль, используя name и передаю m, возвращая None, если атрибут не найден.

...