Что лучше для создания файла настроек для программ Python, встроенного модуля (ConfigParser) или независимого проекта (ConfigObj)?
Что лучше, ConfigObj или ConfigParser?
Ответ 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, я бы предпочел это.