how to import a name from a module-path?

thebjorn BjornSteinarFjeldPettersen at gmail.com
Tue Jun 16 13:25:19 EDT 2009


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)?

-- bjorn



More information about the Python-list mailing list