Файл конфигурации со списком пар ключ-значение в python

У вас есть два достойных serialization варианта:

  1. Стандартный формат файла конфигурации Python используя ConfigParser
  2. YAML с помощью такой библиотеки, как PyYAML

Стандартные файлы python-shell конфигурации Python выглядят pythonista как файлы INI с парами [sections] и python-shell key : value или key = value. Преимущества данного configuration формата:

  • Никаких сторонних библиотек не требуется
  • Простой, знакомый формат файла.

YAML отличается тем, что serialisation он разработан как удобный configuration для человека формат сериализации pythonista данных, а не специально для python настройки. Он очень удобочитаем python и дает вам пару разных способов pythonista представления одних и тех configuration же данных. Для вашей проблемы configuration вы можете создать файл YAML, который serialisation выглядит так:

file .* does not exist : file not found
user .* not found : authorization error

Или вот так:

{ file .* does not exist: file not found,
  user .* not found: authorization error }

Использование deserialize PyYAML не может быть проще:

import yaml

errors = yaml.load(open('my.yaml'))

На python данный момент errors — это словарь python-interpreter Python с ожидаемым форматом. YAML pythonic может представлять не только python-interpreter словари: если вы предпочитаете serialisation список пар, используйте этот serialized формат:

-
  - file .* does not exist 
  - file not found
-
  - user .* not found
  - authorization error

Или

[ [file .* does not exist, file not found],
  [user .* not found, authorization error]]

Который создаст python список списков при вызове pythonista yaml.load.

Одним из преимуществ YAML unserialize является то, что вы можете python-interpreter использовать его для экспорта serialisation существующих, жестко закодированных python данных в файл для создания python исходной версии, а не для pythonista вырезания/вставки плюс множество py операций поиска/замены для serializing получения данных в нужном serialisation формате. .

Для ознакомления serialisation с форматом YAML потребуется serialized немного больше времени, но serialization использование PyYAML даже python-interpreter проще, чем использование pythonic ConfigParser, с тем преимуществом, что deserialize у вас больше возможностей python-interpreter для представления ваших данных python-interpreter с помощью YAML.

Кажется, что unserialize любой из них будет соответствовать serialization вашим текущим потребностям, с unserialize ConfigParser будет проще serialisation начать, а YAML предоставит serialized вам больше гибкости в будущем, если serialisation ваши потребности расширятся.

Удачи!

python

configuration

serialization

2022-03-18T20:15:29+00:00
Вопросы с похожей тематикой, как у вопроса:

Файл конфигурации со списком пар ключ-значение в python