On 2011-03-14, Alexander Schatten <asch...@gmail.com> wrote: > They don't. Hm, ok, I am always for best practices. If there is a > better way to do it I am open for suggestions ;-) How would the best > practice be to load configuration data from a file. > > I mean, this is something very common: you write a program or a > script and want to load some configuration data.
Indeed that is very common, and there's been a "standard" way to do that since before dirt. The standard on Unix is to look in the following places in (this order), and use the first one you find: 1) The location specified by a command line option (-f or -c is common). 2) The location specified by an environment variable like MYPROGNAME_CONFIG. 3) The current directory (usually a "hidden" file name like .myprognamerc or .myprog.config) 4) The current user's home directory -- same file name as 3). 5) The "configuration directory". Each distro has a spec for where that is, but it's usually _not_ a hidden file name, and is somemthing like /etc/myprogname.conf or /etc/myprognamerc. For locally-installed stuff, it's usually /usr/local/etc/muyprog.conf or something like that. Notice that it has nothing to do with the location of the program's executable. Not all Unix apps look in all 5 places (#2, is probably not quite as universal as the rest). Some apps have a directory of config files instead of a single file, but the general plan is the same. -- Grant Edwards grant.b.edwards Yow! I smell like a wet at reducing clinic on Columbus gmail.com Day! -- http://mail.python.org/mailman/listinfo/python-list