Столкнулся с весьма забавной проблемой при работе с конфиг файлами, используя стандартную библиотеку ConfigParser. Дело в том, что до версии 2.7 эта библиотека не соблюдает порядок в котором расположены секции в конфиг файле, потому что хранит их в обыкновенном dict
объекте. В версии же 2.7 библиотека использует добавленный в collections класс OrderedDict
и никаких проблем с порядком нет.
Возможно, в целом это не должно являтся какой-то проблемой, но создавая интерфейс для редактирования значений в конфиг файле, хотелось давать пользователю всегда одинаковый результат, а не перемешивать секции и значения в секции от правки к правке.
Решение весьма простое, использовать dict_type
при инициализации парсера, например так:
from ConfigParser import SafeConfigParser
from django.utils.datastructures