[Python-Dev] __import__ problems
Nick Coghlan
ncoghlan at gmail.com
Fri Nov 28 12:48:51 CET 2008
Mart Somermaa wrote:
>>> 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).
As Hrvoje has pointed out, 'sys' is part of the internal interpreter
machinery - it's there as soon as the interpreter starts. The import
call for it just grabs it out of the module cache and creates a
reference to it in the current namespace.
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
More information about the Python-Dev
mailing list