What is the intended use of the DEFAULT section in config files used by ConfigParser? What is the intended use of the DEFAULT section in config files used by ConfigParser? python python

What is the intended use of the DEFAULT section in config files used by ConfigParser?


I found an explanation here by googling for "windows ini" "default section". Summary: whatever you put in the [DEFAULT] section gets propagated to every other section. Using the example from the linked website, let's say I have a config file called test1.ini:

[host 1]lh_server=192.168.0.1vh_hosts = PloneSite1:8080lh_root = PloneSite1[host 2]lh_server=192.168.0.1vh_hosts = PloneSite2:8080lh_root = PloneSite2

I can read this using ConfigParser:

>>> cp = ConfigParser.ConfigParser()>>> cp.read('test1.ini')['test1.ini']>>> cp.get('host 1', 'lh_server')'192.168.0.1'

But I notice that lh_server is the same in both sections; and, indeed, I realise that it will be the same for most hosts I might add. So I can do this, as test2.ini:

[DEFAULT]lh_server=192.168.0.1[host 1]vh_root = PloneSite1lh_root = PloneSite1[host 2]vh_root = PloneSite2lh_root = PloneSite2

Despite the sections not having lh_server keys, I can still access them:

>>> cp.read('test2.ini')['test2.ini']>>> cp.get('host 1', 'lh_server')'192.168.0.1'

Read the linked page for a further example of using variable substitution in the DEFAULT section to simplify the INI file even more.