from spam import eggs, spam at runtime, how?
fredrik at pythonware.com
Tue Dec 9 08:55:08 CET 2003
"Ganesan R" wrote:
> > spam = __import__('spam.eggs')
> > eggs = spam.eggs
> Is there a way to do this if I don't know about "eggs" beforehand. I have
> some code which needs to import a DB module dynamically. The module could be
> 'PyPgSQL.PgSQL' or 'sqlite'. Is there a sane way to do this without exec?
here's one way to do it:
dbapi = __import__(dbname)
for p in name.split(".")[1:]:
dbapi = getattr(dbapi, p)
- when given a package, __import__ imports all components, but
returns a reference to the toplevel module).
- you may still need DB-specific code to connect to the database
More information about the Python-list