Configuration files may be organized in sections with each section containing
option/value pairs. The keys argument of the add_option()
method
can be used to select which section to obtain the option setting from.
For example:
# file: sections.ini [DEFAULT] # all devices use the same driver type driver = ethernet [DEV0] # path to device #0 path = 192.168.0.0 [DEV1] # path to device #1 path = 192.168.0.1
And script:
# file: sections.py import cfgparse c = cfgparse.ConfigParser() c.add_option('driver', dest='driver0', keys='DEV0') c.add_option('driver', dest='driver1', keys='DEV1') c.add_option('path', dest='path0', keys='DEV0') c.add_option('path', dest='path1', keys='DEV1') c.add_file('sections.ini') opts = c.parse() print "DEV0:",opts.driver0,opts.path0 print "DEV1:",opts.driver1,opts.path1
Results in:
$ python sections.py DEV0: ethernet 192.168.0.0 DEV1: ethernet 192.168.0.1
The [DEFAULT]
section is special. If an option setting cannot be found
in a section specified by keys, the option is obtained from the
[DEFAULT]
section. This section is also utilized if keys is not
specified. Note, use of [DEFAULT]
is optional. If omitted, option/setting
pairs specified before any section declarations are considered part of the
[DEFAULT]
section. Although not advisable, multiple sections of the
same name may exist and are treated as one section without error.