Это зависит от того, что вы хотите сохранить в ваших конфигурационных файлах и как вы их используете
Если вы выполняете циклическое переключение (yaml & rarr; code & rarr; yaml) и хотите сохранить комментарии, вы не можете использовать PyYAML
или ConfigParser
.
Если вы хотите сохранить порядок ваших ключей (например, когда вы проверяете свои файлы конфигурации), PyYAML
не сделает этого, если вы не укажете !!omap
(что упрощает обновление, чем нормальное отображение)
Если вы хотите иметь сложные структуры со списками неназванных элементов, содержащих сопоставления / словари, то ConfigParser
и ConfigObj
вам не помогут, так как пары ключ-значение файлов INI должны идти по разделам и списки могут быть только значениями.
Реализация ruamel.yaml
считывателя YAML поддерживает все вышеперечисленное ¹. Я долгое время использовал превосходный ConfigObj от Fuzzyman для сохранения комментариев в оба конца, а также PyYAML для более сложных структур, и это объединяет лучшее из обоих миров. ruamel.yaml
включает утилиту yaml
, которая может конвертировать ConfigObj
INI-файлы в YAML
¹ ruamel.yaml - это библиотека YAML, которая поддерживает YAML 1.2 (я рекомендую использовать это, но тогда я являюсь автором пакета). PyYAML поддерживает только (большую часть) YAML 1.1.