module confusion

Lawrence D'Oliveiro ldo at geek-central.gen.new_zealand
Wed Oct 3 06:12:17 EDT 2007


In message <mailman.1404.1191345163.2658.python-list at python.org>, Robert
Kern wrote:

> Lawrence D'Oliveiro wrote:
>
>> In message <mailman.1379.1191301581.2658.python-list at python.org>, Robert
>> Kern wrote:
>> 
>>> Not all of the modules in a package are imported by importing the
>>> top-level package.
>> 
>> You can't import packages, only modules.
>> 
>>> os.path is a particularly weird case because it is just an alias to the
>>> platform-specific path-handling module; os is not a package.
>> 
>> os is a module, os.path is a variable within that module. That's all
>> there is to it.
> 
> Yes, but os.path is also module. That's why I said it was a weird case.

You can't have modules within modules. os.path isn't an exception--see
below.

> In [1]: import os
> 
> In [2]: type(os.path)
> Out[2]: <type 'module'>

On my Gentoo system:

    >>> import os
    >>> os.path
    <module 'posixpath' from '/usr/lib64/python2.5/posixpath.pyc'>

It's just a variable that happens to point to the posixpath module.



More information about the Python-list mailing list