[Tutor] Import Modules
Kent Johnson
kent37 at tds.net
Thu Apr 16 03:37:34 CEST 2009
On Wed, Apr 15, 2009 at 6:57 PM, Alan Gauld <alan.gauld at btinternet.com> wrote:
> When you import you import names, in the first case webapp.
> Where the name is a package (ie a folder) that gives you access
> to the modules (or sub packages) contained in that folder but
> not to the contents of those items directly, hence the need for
> webapp.util.
In general, importing a package does not give access to members of a
sub-package. You have to explicitly import the subpackage. For
example,
In [1]: import xml
In [2]: xml.dom.Node
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/Users/kent/<ipython console> in <module>()
AttributeError: 'module' object has no attribute 'dom'
In [3]: import xml.dom
In [4]: xml.dom.Node
Out[4]: <class xml.dom.Node at 0x149eba0>
There are some exceptions, notably os.path:
In [5]: import os
In [6]: os.path
Out[6]: <module 'posixpath' from
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/posixpath.pyc'>
but that is a special case and requires special coding in the os module.
Kent
More information about the Tutor
mailing list