thebjorn wrote:
I'm storing the path to functions in a database and now I'd like to
get a reference so I can execute them.

I looked briefly at the imp module and got very confused...  Currently
I'm doing this:

  def import_object(path):
      module, obj = path.rsplit('.', 1)
      exec "from rootpkg.%s import %s as fn" % (module, obj)
      return fn

  function = import_object('mypackage.mymodule.myfunction')

this is happening in a trusted environment, so I'm not worried about
malicious code.

Are there more elegant ways of doing this (ie. without exec)?

Yes. Look at the __import__ builtin function, and if that's not enough functionality, look at the module names imp, which provides documentation starting with this bit:

DESCRIPTION
   This module provides the components needed to build your own
   __import__ function.



Both are available in Python2.x and Python3.x

Gary Herron



-- bjorn

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to