On Fri, 3 Mar 2006, Steven D'Aprano wrote: > ... you can do this: > > import my_module > my_module.set_environment("math") # or cmath, or numeric, or whatever > > Your my_module will be like this: > > # Warning: untested code. > ENVIRON = None # global variables sometimes have their uses > > def f(x): > if ENVIRON is None: > raise ValueError("Uninitialised module!") > # or use a custom exception > return ENVIRON.sqrt(x) > > def set_environment(name): > global ENVIRON > ENVIRON = __import__(name) > > > Does this help?
Yes. However, this raises a question: Is this any different than directly modifying the globals, or is it just syntactic sugar. import math as my_math def set_environment(name): globals()['ENVIRON'] = __import__(name) Thanks, Michael. -- http://mail.python.org/mailman/listinfo/python-list