MCPcopy Index your code
hub / github.com/python/cpython / import_module

Method import_module

Lib/modulefinder.py:302–332  ·  view source on GitHub ↗
(self, partname, fqname, parent)

Source from the content-addressed store, hash-verified

300 return modules.keys()
301
302 def import_module(self, partname, fqname, parent):
303 self.msgin(3, "import_module", partname, fqname, parent)
304 try:
305 m = self.modules[fqname]
306 except KeyError:
307 pass
308 else:
309 self.msgout(3, "import_module ->", m)
310 return m
311 if fqname in self.badmodules:
312 self.msgout(3, "import_module -> None")
313 return None
314 if parent and parent.__path__ is None:
315 self.msgout(3, "import_module -> None")
316 return None
317 try:
318 fp, pathname, stuff = self.find_module(partname,
319 parent and parent.__path__, parent)
320 except ImportError:
321 self.msgout(3, "import_module ->", None)
322 return None
323
324 try:
325 m = self.load_module(fqname, fp, pathname, stuff)
326 finally:
327 if fp:
328 fp.close()
329 if parent:
330 setattr(parent, partname, m)
331 self.msgout(3, "import_module ->", m)
332 return m
333
334 def load_module(self, fqname, fp, pathname, file_info):
335 suffix, mode, type = file_info

Callers 7

find_head_packageMethod · 0.95
load_tailMethod · 0.95
ensure_fromlistMethod · 0.95
iter_importersFunction · 0.45
resolve_nameFunction · 0.45
_mainFunction · 0.45
safeimportFunction · 0.45

Calls 5

msginMethod · 0.95
msgoutMethod · 0.95
find_moduleMethod · 0.95
load_moduleMethod · 0.95
closeMethod · 0.45

Tested by

no test coverage detected