Message3878
Our builtin module's __dict__s don't have what you'd expect to see in
CPython, they contain the remnants of our Java Integration:
Jython 2.5b0+ (trunk:5704:5712M, Dec 5 2008, 22:53:44)
[Java HotSpot(TM) 64-Bit Server VM (Apple Inc.)] on java1.6.0_07
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.version_info > (2, 4)
True
>>> sys.__dict__['version_info'] > (2, 4)
False
>>> sys.__dict__['version_info']
<reflected field public static org.python.core.PyTuple
org.python.core.PySystemState.version_info 1>
Which makes these __dict__s fairly useless and error prone. Occasionally
there is good reason to go directly into them -- e.g. when wanting to
specify a module dict for the scope of an exec statement
On a somewhat related note, the fact that our builtin modules aren't
actual modules (assert isinstance(sys, types.ModuleType)) can also be
annoying. I only mention it here because I think that fact might want to
be considered in any fix for __dict__. It's really a different issue,
though |
|
Date |
User |
Action |
Args |
2008-12-06 08:02:53 | pjenvey | set | recipients:
+ pjenvey |
2008-12-06 08:02:52 | pjenvey | set | messageid: <1228550572.88.0.902921000454.issue1193@psf.upfronthosting.co.za> |
2008-12-06 08:02:52 | pjenvey | link | issue1193 messages |
2008-12-06 08:02:51 | pjenvey | create | |
|