Tom E H wrote: > Larry Bates wrote: >>> Well that's great, but how do you access the ini file portably? >> From my original post: >> >> Then I use ConfigParser in my application... > > Thanks, but where in the directory structure do you put the ini file on > different platforms? Presumably you have to hard-code that into the source > and then do operating system type detection? > > i.e. if I make my config parser: > > import ConfigParser > config = ConfigParser.ConfigParser() > config.read(filename) > > What do you use for filename on Windows? What on Linux? OSX? etc. How do > you detect which operating system you are running on? > > Tom > I almost always have the .ini configuration file live in the same directory/folder as the program or sometimes in a subdirectory of the install directory (which I reference relative to where the program is run from). Typically I install a default .ini file via program installer (I like Inno Installer on Windows). I also make all my programs accept a -i <configuration file path> argument when they are run so you can override the default .ini file on the command line.
example: myprog -i C:\aaa\bbb\myprog.ini As a default I do config.read('myprog.ini') it always reads from the current directory (which is where the program is installed). To access a subdirectory of the current directory I do something like: p=os.path.join(os.getcwd(), 'configfiles') config.read(p) I haven't put anything on OSX but this works fine on Windows and Linux and should work on OSX. -Larry Bates -- http://mail.python.org/mailman/listinfo/python-list