У вас есть два достойных варианта:
- Стандартный формат файла конфигурации Python
используя ConfigParser
- YAML с использованием такой библиотеки, как PyYAML
Стандартные файлы конфигурации Python выглядят как файлы INI с парами [sections]
и key : value
или key = value
. Преимущества этого формата:
- Сторонние библиотеки не нужны
- Простой, знакомый формат файла.
YAML отличается тем, что он разработан для удобного для человека формата сериализации данных, а не специально для конфигурации. Он очень удобен для чтения и дает вам несколько разных способов представления одних и тех же данных. Для вашей проблемы вы можете создать файл YAML, который выглядит следующим образом:
file .* does not exist : file not found
user .* not found : authorization error
Или вот так:
{ file .* does not exist: file not found,
user .* not found: authorization error }
Использование PyYAML не может быть проще:
import yaml
errors = yaml.load(open('my.yaml'))
На данный момент errors
- это словарь Python в ожидаемом формате. YAML может представлять больше словарей: если вы предпочитаете список пар, используйте этот формат:
-
- file .* does not exist
- file not found
-
- user .* not found
- authorization error
Или
[ [file .* does not exist, file not found],
[user .* not found, authorization error]]
, который выдаст список списков при вызове yaml.load
.
Одним из преимуществ YAML является то, что вы можете использовать его для экспорта существующих жестко закодированных данных в файл для создания первоначальной версии, а не для вырезания / вставки плюс куча поиска / замены для передачи данных в правильный формат.
Для ознакомления с форматом YAML потребуется немного больше времени, но использование PyYAML еще проще, чем использование ConfigParser, поскольку преимущество заключается в том, что у вас есть больше возможностей для представления ваших данных с использованием YAML.
Любой из них звучит так, как будто он соответствует вашим текущим потребностям. С ConfigParser будет легче начинать, в то время как YAML даст вам большую гибкость в будущем, если ваши потребности расширятся.
Удачи!