On Wed, 29 May 2013 12:25:45 -0400, Brett Cannon <br...@python.org> wrote: > In case you want to suggest a name, the context manager returns the > module that should be initialized/loaded. So typical usage will be:: > > class Loader: > def load_module(self, fullname): > with importlib.util.module_to_init(fullname) as module: > # Load/initialize the module > return module > > Basically the manager either gets the module from sys.modules if it is > already there (a reload) or creates a new module and sticks it into > sys.modules so other imports will grab the right module object. If > there is an exception and the module was new, it deletes it from > sys.modules to prevent stale modules from sticking around.
So it is a context manager to handle the exception? Now I think I see where Nick is coming from. How about 'managed_initializiation'? That seems closer to the 'closing' model, to me. It isn't as clear about what it is returning, though, since you are passing it a name and getting back a module, whereas in the closing case you get back the same object you send in. Perhaps 'managed_module'? --David _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com