configparser - which one?

Terry Reedy tjreedy at udel.edu
Tue Mar 26 04:29:09 EDT 2019


On 3/25/2019 8:10 PM, Dave wrote:
> I use Python3 3, and expected learning how to use configparser would be 
> no big deal.  Well!  Seems there is configparser, stdconfigparser, and 

configparser is what IDLE uses.  I would read the extra or deleted 
features of the others and see if they apply to your client's project.

> safeconfigparser, and multiple ways to set the section and entries to 
> the section.  A little confusing.  I want to future-proof may code, so 
> what should I be using?
> 
> As for setting the sections and entries, the following both work.
> 
> from configparser import ConfigParser    # Python 3 syntax
> parser = ConfigParser()
> 
> parser['DEFAULT'] = {'Language': 'English',
>                       'Units': 'English',
>                       'UseDefaults': 'True',
>                       'NumberRidesDisplay': '30',
>                       'Pi': '3.14'}

The dict interface is newer but I doubt that the older one will go away. 
  (IDLE uses it because it predates the dict interface.  Since this code 
is pretty static, I do not currently see a payoff for conversion.)

> parser.add_section('Default')
> parser.set('default', 'language', 'english')
> parser.set('default', 'units_measure', 'english')
> parser.set('default', 'background_color', 'white')
> parser.set('default', 'useDefaults', 'true')
> parser.set('default', 'numToDisp', '12')
> parser.set('default', 'pi', '3.14')
> 
> The advantage of the former is that it will handle 'DEFAULT', while the 
> last one won't.  I like the former, but not sure if it is the future.

We do not remove things and break backwards compatibility lightly.

-- 
Terry Jan Reedy





More information about the Python-list mailing list