Как превратить объект в словарь? - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть возврат объекта <generator object load_all at 0x000000000309AB40> из функции, которая открывает и читает файл YAML.Из этого возврата мне нужно создать организованный файловый словарь.

#FILE YAML TEST.yaml   
---
MAIN:
  Name: Jaqueline
  Age: 30
  City: New York
OTHER:
  State: True

______________________________________________________
#PYTHON
from ruamel.yaml import YAML
from pathlib import Path


def file_yaml():
   yaml = YAML()
   stream = Path('TEST.yaml')
   yaml_conf=yaml.load_all(stream)
   print(yaml_conf)

   return yaml_conf


yaml=file_yaml()
dictionary=?????

yaml - это объект <generator object load_all at 0x000000000309AB40>

Если я сделаю: ...

yaml=file_yaml()
dictionary =dict(yaml)
print dictionary

У меня есть: {'MAIN': 'OTHER'}.Я потерял много информации из архива !!!Как я могу создать правильный словарь с данными файла?

1 Ответ

0 голосов
/ 15 февраля 2019

У меня отлично работает:

import yaml

with open('random.yaml', 'r') as fin:
    yml = yaml.safe_load(fin)

yml


{'MAIN': {'Name': 'Jaqueline', 'Age': 30, 'City': 'New York'},
 'OTHER': {'State': True}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...