我们从Python开源项目中,提取了以下18个代码示例,用于说明如何使用imp.init_builtin()。
def load_module(self, name, stuff): file, filename, info = stuff (suff, mode, type) = info try: if type == BUILTIN_MODULE: return self.hooks.init_builtin(name) if type == FROZEN_MODULE: return self.hooks.init_frozen(name) if type == C_EXTENSION: m = self.hooks.load_dynamic(name, filename, file) elif type == PY_SOURCE: m = self.hooks.load_source(name, filename, file) elif type == PY_COMPILED: m = self.hooks.load_compiled(name, filename, file) elif type == PKG_DIRECTORY: m = self.hooks.load_package(name, filename, file) else: raise ImportError, "Unrecognized module type (%r) for %s" % \ (type, name) finally: if file: file.close() m.__file__ = filename return m
def load_module(self, fullname, path=None): imp_lock() try: # PEP302 If there is an existing module object named 'fullname' # in sys.modules, the loader must use that existing module. module = sys.modules.get(fullname) if module is None: module = imp.init_builtin(fullname) except Exception: # Remove 'fullname' from sys.modules if it was appended there. if fullname in sys.modules: sys.modules.pop(fullname) raise # Raise the same exception again. finally: # Release the interpreter's import lock. imp_unlock() return module ### Optional Extensions to the PEP-302 Importer Protocol
def load_module(self, fullname, path=None): # Deprecated in Python 3.4, see PEP-451 imp_lock() try: # PEP302 If there is an existing module object named 'fullname' # in sys.modules, the loader must use that existing module. module = sys.modules.get(fullname) if module is None: module = imp.init_builtin(fullname) except Exception: # Remove 'fullname' from sys.modules if it was appended there. if fullname in sys.modules: sys.modules.pop(fullname) raise # Raise the same exception again. finally: # Release the interpreter's import lock. imp_unlock() return module ### Optional Extensions to the PEP-302 Importer Protocol
def init_builtin(self, name): return imp.init_builtin(name)