Trying to Learn Packages

David wizzardx at gmail.com
Sun Jun 22 11:49:29 EDT 2008


On Sun, Jun 22, 2008 at 4:07 PM, Saul Spatz <sspatz at kcnet.com> wrote:
> Hi,
>
> I'm making a project into my first package, mainly for organization, but
> also to learn how to do it.  I have a number of data files, both
> experimental results and PNG files.  My project is organized as a root
> directory, with two subdirectories, src and data, and directory trees below
> them.  I put the root directory in my pythonpath, and I've no trouble
> accessing the modules, but for the data, I'm giving relative paths, that
> depend on the current working directory.
>
> This has obvious drawbacks, and hard-coding a directory path is worse. Where
> the data files are numbers, I can simply incorporate them in python scripts
> that initialize data structures , but what can I do with the image files?
>
> What is the usual way of dealing with this?
>

The usual method (afaik) is to use relative paths, and to not change
into the script dirs before running them.

eg, instead of:

cd src/dir1/dir2/dir3
./script.py

You run it like this:
./src/dir1/dir2/dir3/script.py

And then all the scripts under src can load data files using a path
like this: './data/datafile'

Another method is to use a file-finder func which looks in various
places (using PATH, PYHONPATH, etc), and returns the first-found path
to the file.



More information about the Python-list mailing list