MCPcopy
hub / github.com/tornadoweb/tornado / import_object

Function import_object

tornado/util.py:108–134  ·  view source on GitHub ↗

Imports an object by name. ``import_object('x')`` is equivalent to ``import x``. ``import_object('x.y.z')`` is equivalent to ``from x.y import z``. >>> import tornado.escape >>> import_object('tornado.escape') is tornado.escape True >>> import_object('tornado.escape.utf8')

(name: str)

Source from the content-addressed store, hash-verified

106
107
108def import_object(name: str) -> Any:
109 """Imports an object by name.
110
111 ``import_object('x')`` is equivalent to ``import x``.
112 ``import_object('x.y.z')`` is equivalent to ``from x.y import z``.
113
114 >>> import tornado.escape
115 >>> import_object('tornado.escape') is tornado.escape
116 True
117 >>> import_object('tornado.escape.utf8') is tornado.escape.utf8
118 True
119 >>> import_object('tornado') is tornado
120 True
121 >>> import_object('tornado.missing_module')
122 Traceback (most recent call last):
123 ...
124 ImportError: No module named missing_module
125 """
126 if name.count(".") == 0:
127 return __import__(name)
128
129 parts = name.split(".")
130 obj = __import__(".".join(parts[:-1]), fromlist=[parts[-1]])
131 try:
132 return getattr(obj, parts[-1])
133 except AttributeError:
134 raise ImportError("No module named %s" % parts[-1])
135
136
137def exec_in(

Callers 7

__init__Method · 0.90
configureMethod · 0.90
test_import_memberMethod · 0.90
test_import_moduleMethod · 0.90
configureMethod · 0.85

Calls 2

splitMethod · 0.80
joinMethod · 0.80

Tested by 4

test_import_memberMethod · 0.72
test_import_moduleMethod · 0.72