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

Class _TempModule

Lib/runpy.py:26–47  ·  view source on GitHub ↗

Temporarily replace a module in sys.modules with an empty namespace

Source from the content-addressed store, hash-verified

24ModuleType = type(sys)
25
26class _TempModule(object):
27 """Temporarily replace a module in sys.modules with an empty namespace"""
28 def __init__(self, mod_name):
29 self.mod_name = mod_name
30 self.module = ModuleType(mod_name)
31 self._saved_module = []
32
33 def __enter__(self):
34 mod_name = self.mod_name
35 try:
36 self._saved_module.append(sys.modules[mod_name])
37 except KeyError:
38 pass
39 sys.modules[mod_name] = self.module
40 return self
41
42 def __exit__(self, *args):
43 if self._saved_module:
44 sys.modules[self.mod_name] = self._saved_module[0]
45 else:
46 del sys.modules[self.mod_name]
47 self._saved_module = []
48
49class _ModifiedArgv0(object):
50 def __init__(self, value):

Callers 2

_run_module_codeFunction · 0.85
run_pathFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…