On 3/26/19 4:29 AM, Terry Reedy wrote:
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.

Thanks everyone. So, I'll use configparser, but I do like the dictionary API as it makes the code a little easier as I can pass as arguments a section name and a dictionary with the contents to a function to write the complete section.

Dave,
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to