Laszlo Zsolt Nagy wrote:

> Given this module "test.py":
>
> print type(__builtins__)
>
> I ran into a wreid thing.
>
> Python 2.4.1 (#65, Mar 30 2005, 09:13:57) [MSC v.1310 32 bit (Intel)] on win32
> Type "help", "copyright", "credits" or "license" for more information.
> >>> __builtins__
> <module '__builtin__' (built-in)>
> >>> type(__builtins__)
> <type 'module'>
> >>> import test
> <type 'dict'>
> >>>
>
> What? __builtins__ is a dict when used in a module, but it is a module when 
> used interactively? 
> Why?

__builtins__ (plural form) is a CPython implementation detail.

if you want to access the __builtin__ module, import it as usual:

    import __builtin__
    f = __builtin__.open(...)

if you're interested in CPython implementation details, study the CPython
source code.

</F> 



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

Reply via email to