Kermit:

> ------------------------------
> 
> Message: 7
> Date: Fri, 09 Jun 2006 11:02:44 -0400
> From: Kent Johnson <[EMAIL PROTECTED]>
> Subject: Re: [Tutor] file attribute of module
> Cc: tutor@python.org
> Message-ID: <[EMAIL PROTECTED]>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> 
> Kermit Rose wrote:
> >>>> factor30.__file__
> > 'c:\\math\\factoring\\factor30.py'
> >
> > Ok.   Now I understand it.
> >
> > The module is named factor30.
> >
> > The file is named factor30.py
> >
> > I presume that if I created another library in the same directory
> > in a file named factor31.py
> > that it would create a module named factor31.   ???
> 
> Yes. Try it and see!
> 
> Kent
> 

If by "it" you mean "Python", you are correct.  As you are finding out,
the distinction between 'file' and 'module' in Python is subtle but
important.  The words are often used synonymously, but they actually
have very different meanings.  Here is the best short description I have
found of the distinction.  It is from 

        Learning Python, 2nd Edition 
        By David Ascher, Mark Lutz 
        Publisher: O'Reilly

                Modules are probably best understood as simply packages
of 
                names-places to define names you want to make visible to
the 
                rest of a system. In Python, modules are a namespace-a
place 
                where names are created. Names that live in a module are
called 
                its attributes. Technically, modules usually correspond
to 
                files, and Python creates a module object to contain all
the 
                names assigned in the file; but in simple terms, modules
are 
                just namespaces.

So, in your example above, Python uses the contents of the file
"factor31.py" to create the module "factor31".  

As others have hinted, Python can use things other than files, and types
of files other than "???.py", to make a module, but you don't need to
worry about that yet.  

HTH.
 
Barry
[EMAIL PROTECTED]
541-302-1107
________________________
We who cut mere stones must always be envisioning cathedrals.

-Quarry worker's creed


_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to