You can use importlib in version 2.7:
from importlib import import_module name = 'xml.etree.ElementTree.ElementTree' parts = name.rsplit('.', 1) ElementTree = getattr(import_module(parts[0]), parts[1]) tree = ElementTree()
In older versions, you can use the __import__ function. It by default returns the top level of package import (e.g. xml ). However, if you pass it a nonempty fromlist , it instead returns a named module:
name = 'xml.etree.ElementTree.ElementTree' parts = name.rsplit('.', 1) ElementTree = getattr(__import__(parts[0], fromlist=['']), parts[1]) tree = ElementTree()
eryksun
source share