Как взять название модуля из переменной python?

Подскажите, пожалуйста, как импортировать модуль, если название модуля записано в переменной. Например:

name = "название модуля"
import name

name.somefunc()

Ответы (1 шт):

Автор решения: Кирилл Малышев

Лучше использовать для этого модуль importlib

import importlib
name = "math"
module = importlib.import_module(name)
print(module.sin(2))
print(module.cos(4))

Или можно так

name = "math"
module = __import__(name)
print(module.sin(2))
print(module.cos(4))

Чтобы можно было импортировать модуль из определённой директории, в ответе Gino Mempin предлагается добавить её в sys.path:

import sys
sys.path.append("path/to/module")
→ Ссылка