Python and Jython import semantics differ on how sub-packages should be accessed after importing some module:<br><br>Jython 2.1 on java1.5.0 (JIT: null)<br>Type "copyright", "credits" or "license" for more information.
<br>>>> import xml<br>>>> xml.dom<br><module xml.dom at 10340434><br><br>Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] on win32<br>Type "help", "copyright", "credits" or "license" for more information.
<br>>>> import xml<br>>>> xml.dom<br>Traceback (most recent call last):<br> File "<stdin>", line 1, in ?<br>AttributeError: 'module' object has no attribute 'dom'<br>>>> from xml.dom
import pulldom<br>>>> xml.dom<br><module 'xml.dom' from 'C:\bin\Python24\lib\xml\dom\__init__.pyc'><br><br>Note that in Jython importing a module makes all subpackages beneath it available, whereas in python, only the tokens available in __init__.py are accessible, but if you do load the module later even if not getting it directly into the namespace, it gets accessible too -- this seems more like something unexpected to me -- I would expect it to be available only if I did some "import
xml.dom" at some point.<br><br>My problem is that in Pydev, in static analysis, I would only get the tokens available for actually imported modules, but that's not true for Jython, and I'm not sure if the current behaviour in Python was expected.
<br><br>So... which would be the right semantics for this?<br><br>Thanks,<br><br>Fabio<br>