Как выбрать конкретный атрибут из yaml в Python - PullRequest
0 голосов
/ 11 сентября 2018

Я новичок в python и пытаюсь извлечь данные из файла yaml для использования в скрипте python, скажем, мой файл yaml выглядит следующим образом:

---
genre: horror
film:
 -name: conjuring
 -id: 1234
film:
 -name: halloween
 -id: 1222

Как бы я выбрал каждую частьyaml, например, скажи, что я хочу идентификатор фильма с именем halloween, используя python?Мне удалось прочитать файл, написав это:

import yaml

with open("films.yaml", 'r') as stream:
    try:
        code = yaml.load(stream)
        print(code.each)
    except yaml.YAMLError as exc:
        print(exc)

, но это только дает мне следующий вывод и не отображает все:

{'genre': 'horror', 'film': {'-name': 'halloween', '-id': 1222}}

Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Как отмечает Декин, проблема в вашем синтаксисе yaml. Вы предоставляете повторяющиеся записи для ключа "фильм", а не для списка.

Списки yaml должны иметь формат:

list_key:
    - item_1_field_1: foo
      item_1_field_2: bar
    - item_2_field_1: baz
      item_2_field_2: goof
0 голосов
/ 11 сентября 2018

Вы можете представить список фильмов на yaml следующим образом ...

---
genre: horror
films:
- name: conjuring
  id: 1234
- name: halloween
  id: 1222
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...