Excellent, OK, this is becoming clearer ...
So if I wanted a common library of code that several Python apps would
be using, best practices would say I should put that into a directory
that the projects can see and import it as a package.module. Cool...
- Warren
(epic...@gmail.com)
On Sep 18, 2009, at 3:25 PM, Kent Johnson wrote:
On Fri, Sep 18, 2009 at 2:14 PM, Warren Marshall
wrote:
I'm trying to get my head around the organization of a larger Python
project.
1. Am I right in thinking that in Python, you don't have the
concept of
something like a precompiled header and that every file that wants
to use,
say "vector.py" needs to import that module?
Yes.
2. How are Python projects typically organized in terms of having
many
files. Are sub-directories for different kinds of files (rendering
files go
here, file management files go here, etc), or does that not play
nicely with
the import command?
It's fine. The directories are called packages and must contain a
(possibly empty) file named __init__.py. Then you can do things like
from package.module import SomeClass
See the std lib for examples, for example the email and logging
packages.
3. As you can tell, I've done a lot of C/C++/C# and I'm trying to
shake
loose the analog that I've built up in my head that import is
Python's
answer to #include. It isn't, is it?
Not really, it is more like a using declaration in C# except it
doesn't bring the contents of the module into scope, just the module
itself.
using System; // C#
is like
from sys import * # Python
though the latter form is discouraged in favor of just
import sys
or importing the specific items you need:
from sys import modules
Kent
___
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor
___
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor