The variant proposed by Hrvoje Niksic:

 >>> __import__(modname)
 >>> mod = sys.modules[modname]

looks more appealing, but comes with the drawback that sys has to be imported for that purpose only.

That is not a real drawback, as "sys" will certainly be present in the system, so the "importing" boils down to a dict lookup and a variable assignment.

I meant that you have to

import sys

only to access sys.modules (i.e. importing sys may not be necessary otherwise).

Compare

mod = __import__(modname, submodule=True)

with

import sys
__import__(modname)
mod = sys.modules[modname]


_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to