Как создать словарь через описание его структуры в Python?

Мне нужно создать словарь, не хочу ручками писать что-то подобное, много повторяющихся значений и необходимость тщательно контролировать корректность скобок при последующем редактировании:

{'test':{'num':0,'prot':{'imap':{'srv':0,'email':'xxx','port':0},'pop':{'srv':0,'email':'xxx', 'port':0}}}}

Есть ли готовое решение/модуль по созданию словаря из подобного текстового файла

test{
  num = 0
  prot{
     imap/pop{
        srv = 0
        email = xxx
        port = 0

Тут же просто добавил/удалил, а словарь перестроится при запуске. Ну или просто подскажите направление в какую сторону копать.


Ответы (1 шт):

Автор решения: Alpensin

Да, можете описать структуру в yaml или toml файле и загрузить его соответствующей библиотекой. Его распарсит в питоновский словарь или подобный дефолтному словарю кастомный объект. Смотря какую библиотеку использовать.

Библиотека для toml среди стандартных начиная с python 3.11. https://docs.python.org/3/library/tomllib.html

Для yaml нужно поставить например https://pypi.org/project/PyYAML/

→ Ссылка