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 <epic...@gmail.com> 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

Reply via email to