YAML для словарей Python: копирование / ссылки на блоки - PullRequest
0 голосов
/ 18 августа 2011

Я пишу файл YAML, который содержит некоторые данные конфигурации.Он будет прочитан в Python как словарь словарей.Некоторые данные необходимо повторить под другим ключом.Есть ли способ сделать это без большого количества вырезок и вставок?

Вот пример файла yaml:

BLOCK1:
  a: 1
  b: 2
  c: 3

BLOCK2:
  a: 4
  b: 5
  c: 6

BLOCK3: # Basically the same as BLOCK2
  a: 4  # Is there a way to make this a link to BLOCK2 or a copy of BLOCK2?
  b: 5
  c: 6

1 Ответ

1 голос
/ 18 августа 2011

Да, есть. Взгляните на: http://pyyaml.org/wiki/PyYAMLDocumentation#Aliases

В основном, вы должны сделать:

BLOCK1: 
  a: 1
  b: 2
  c: 3

BLOCK2: &block
  a: 4
  b: 5
  c: 6

BLOCK3: *block

И результаты будут:

{'BLOCK1': {'a': 1, 'b': 2, 'c': 3},
 'BLOCK2': {'a': 4, 'b': 5, 'c': 6},
 'BLOCK3': {'a': 4, 'b': 5, 'c': 6}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...