"Allen Fowler" <allen.fow...@yahoo.com> wrote

What is the recommended way to configure my application find the various database and/or configuration files it needs?

Recommemded by whom? A lot depends on the OS. Apple for example have one set of recommendations for MacOS, Windows has another and Linux has several to choose from!

For instance my folder layout:

/path_to_app/app.py
/path_to_app/lib/
/path_to_app/database/
/path_to_app/config/
/path_to_app/photos

.... and so on. I would like to make an .ini in the config folder

Seems fair enough, however on a Unix system you should also consider allowing the user to have their own personalised version in their home directory. Thus at startup you get the current user ID / home directory and look for a suitable config file. If it exists read it, if not read the default one in your config directory.

1) How does my main app file find the config file in the first place?

Generally use a relative path so normally your app will run from its home folder so you can look in ./config. You might also set a system environment variable - for example the CLASSPATH or PYTHONPATH variables, or the ORACLE_HOME used by Oracle for their database. If the environment var is not set then look in ./config

2) How should I point to those other folders in the ini file?

Once you locate config the others are simply ../xxx relative to config.

HTH,

--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/

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

Reply via email to