Chris Colbert wrote: > I have package tree that looks like this: > > main.py > package > ----__init__.py > ----configuration.ini > ----server > --------__init__.py > --------xmlrpc_server.py > --------controller.py > --------reco > ------------<irrelevant.py's> > ----segmentation > --------__init__.py > --------red_objects.py > ----<other irrelevant folders> > > > main.py launches an instance of xmlrpc_server.py which, in turn, > imports controller.py. > controller.py reads configuration.ini to determine which > module/function to import from the segmentation directory and > subsequently use. > > that config file specifies the module as 'red_objects' and the > function as 'segment_red'. > > I am trying to dynamically import that module and func using the > __import__ statement but keep getting empty module errors.
> I'm assuming i'm missing something fundamental on the import resolution... After some experimentation it turns out you have to provide some context for __import__() to determine the absolute location of the requested module. The required bit of information is the current module's __name__ attribute which you can provide via the globals parameter: def import_segmentation(name): return getattr(__import__("segmentation." + name, level=2, globals=globals()), name) Peter -- http://mail.python.org/mailman/listinfo/python-list