Подтвердить что ты не робот

Что лучше, ConfigObj или ConfigParser?

Что лучше для создания файла настроек для программ Python, встроенного модуля (ConfigParser) или независимого проекта (ConfigObj)?

4b9b3361

Ответ 1

Недавно я переключился с configparser на configobj, и я в восторге от этого.

Для меня большая разница - configobj валидатор. Это позволяет мне очень легко/кратко (1) определить тип и допустимые значения для каждой записи и (2) установить значения по умолчанию.

Эти две функции избавляют меня от большого количества кода и предотвращают неправильную работу. Кроме того, на самом деле нет лишних накладных расходов на использование configobj с точки зрения сложности моего кода, а библиотека довольно мала.

Ответ 2

В зависимости от вашей версии Python может быть спорным, отвечает ли этот вопрос на ваш вопрос, но после краткого просмотра ConfigParser и ConfigObj я остановился на configparser, версии Python 3 ConfigParser. Theres также поддерживает версию в PyPI.

ConfigParser казался для меня громоздким, может быть, даже - я могу сказать, что это неряшливо, и с ConfigObj я столкнулся с эзотерической проблемой со списками (Id предпочитает иметь возможность выровнять их по вертикали, так как моя действительно очень длинная), и это didnt помочь, чтобы последняя версия была опубликована более двух лет назад. Однако API-интерфейс configparser выглядел настолько же шикарным, как и у ConfigObj (хотя и не как многофункциональный), и когда мы переходим на Python 3, я, вероятно, могу легко переключиться на встроенную версию.

Кстати, он отлично работает до сих пор.

Ответ 3

До сих пор я нашел ConfigParser достаточным в любое время, когда я его использовал. Кроме того, это включенная батарея, а не сторонняя библиотека.

Хотя я должен признать, образцы кода в документации ConfigObj делают ConfigParser действительно похожими на сравнение. Для script, который сильно манипулирует файлами .ini, я бы предпочел это.