Разбор файла YAML в Python и доступ к данным?


Я новичок в YAML и искал способы анализа файла YAML и использования/доступа к данным из проанализированного YAML.

я наткнулся на объяснения о том, как разобрать файл YAML, например, PyYAML учебник,"как я могу разобрать файл YAML в Python","конвертировать Python dict в object?", но то, что я не нашел, это простой пример того, как получить доступ к данным из проанализированного файла YAML.

предположим, что у меня есть Файл YAML, например:

 treeroot:
     branch1: branch1 text
     branch2: branch2 text

Как получить доступ к тексту "branch1 text"?

"ЯМЛ парсинг и Python? " предоставляет решение, но у меня были проблемы с доступом к данным из более сложного файла YAML. И мне интересно, есть ли какой-то стандартный способ доступа к данным из проанализированного файла YAML, возможно, что-то похожее на "итерации дерево" или " elementpath" нотация или что-то, что будет использоваться при разборе XML файл?

1 68

1 ответ:

С функция анализирует документы YAML на собственные структуры данных Python, вы можете просто получить доступ к элементам по ключу или индексу. Используя пример из вопроса, который вы связали:

import yaml
with open('tree.yaml', 'r') as f:
    doc = yaml.load(f)

получить доступ к branch1 text вы используете:

txt = doc["treeroot"]["branch1"]
print txt
"branch1 text"

потому что в вашем документе YAML значение branch1 ключ под treeroot ключ.