[Python-de] ConfigParser

Hans-Peter Jansen hpj at urpla.net
Fre Mar 11 15:58:37 CET 2005


On Friday 11 March 2005 14:51, Roland M. Kruggel wrote:
> Hallo Liste,
>
> ich lese daten aus einer ini-Datei mit ConfigParser ein. Die
> Einträge der ini-Datei sind jedoch Listen und Dictionaries.
>
> Wenn ich die Datein eingelesen habe liegen sie in Form eines
> strings vor und nicht als Dict/Liste. Also kann ich da nicht so
> einfach drauf zugreifen.
>
> Gibts da eine Möglichkeit einen String in ein Dictionary/Liste zu
> konvertieren?

Suchst Du so was:

class Config(ConfigParser):
    """ config file reader class """
    #def __init__(self):
    #    ConfigParser.__init__(self)

    def get(self, section, option, default=None):
        res = default
        if ConfigParser.has_option(self, section, option):
            res = ConfigParser.get(self, section, option)
        return res

    def getbool(self, section, option, default=None):
        """ short version of getboolean """
        res = default
        if ConfigParser.has_option(self, section, option):
            res = ConfigParser.getboolean(self, section, option)
        return res

    def getint(self, section, option, default=None):
        res = default
        if ConfigParser.has_option(self, section, option):
            res = ConfigParser.getint(self, section, option)
        return res

    def getlist(self, section, option, default=None):
        """ convert a space separated option value to a list """
        res = default
        if ConfigParser.has_option(self, section, option):
            res = ConfigParser.get(self, section, option).strip()
            res = res.replace('\n', ' ')
            if ' ' in res:
                res = res.split(' ')
            else:
                res = [res]
            while '' in res:
                res.remove('')
        return res


Pete