[Python] ConfigParser reads capital keys and make them lower case

Discussão em 'Python' iniciado por Stack, Março 25, 2025.

  1. Stack

    Stack Membro Participativo

    I found one interesting observation. I had written one config file read program as,

    import ConfigParser
    class ConfReader(object):
    ConfMap = dict()

    def __init__(self):
    self.config = ConfigParser.ConfigParser()
    self.config.read('./Config.ini')
    self.__loadConfigMap()

    def __loadConfigMap(self):
    for sec in self.config.sections():
    for key,value in self.config.items(sec):
    print 'key = ', key, 'Value = ', value
    keyDict = str(sec) + '_' + str(key)
    print 'keyDict = ' + keyDict
    self.ConfMap[keyDict] = value

    def getValue(self, key):
    value = ''
    try:
    print ' Key = ', key
    value = self.ConfMap[key]
    except KeyError as KE:
    print 'Key', KE , ' didn\'t found in configuration.'
    return value

    class MyConfReader(object):
    objConfReader = ConfReader()

    def main():
    print MyConfReader().objConfReader.getValue('DB2.poolsize')
    print MyConfReader().objConfReader.getValue('DB_NAME')

    if __name__=='__main__':
    main()


    And my Config.ini file looks like,

    [DB]
    HOST_NAME=localhost
    NAME=temp
    USER_NAME=postgres
    PASSWORD=mandy


    The __loadConfigMap() works just fine. But while reading the key and values, it is making the keys lower case. I didn't understand the reason. Can any one please explain why it is so?

    Continue reading...

Compartilhe esta Página