Создание config-класса со всеми разделами и элементами, указанными в файле, с помощью ConfigParser

Я совершенно новичок в stackoverflow, и на самом деле я нашел решение своей существующей проблемы: Создание класса со всеми элементами, указанными в файле, с помощью ConfigParser. Данное разрешение пиллмунчера почти идеально подходит для моего случая. Но мне нужно различать разделы и не переопределять каждый раз соответствующие значения.

Есть ли способ сделать тот же класс, но различать разделы и, следовательно, имена?

Пример ввода (файл конфигурации):

    [x_axis]
    speed = 1020
    ...

    [y_axis]
    speed = 1030
    ...

Класс пилюлей:

from ConfigParser import SafeConfigParser


section_names = 'x_axis', 'y_axis'

class MyConfiguration(object):

def __init__(self, *file_names):
    parser = SafeConfigParser()
    parser.optionxform = str  # make option names case sensitive
    found = parser.read(file_names)
    if not found:
        raise ValueError('No config file found!')
    for name in section_names:
        self.__dict__.update(parser.items(name))  # <-- here the magic happens

config = MyConfiguration('my.cfg', 'other.cfg')

Пожалуйста, даже если я задаю совершенно нубский вопрос, подскажите, в каком направлении мне искать ответы. Глобальный конфигурационный файл, представленный всеми его разделами, должен быть не только моей заботой.


person B.Alexander    schedule 02.10.2015    source источник
comment
Предоставьте образец ввода и ожидаемое поведение.   -  person pacholik    schedule 02.10.2015