如何将对象转换为字典?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将对象转换为字典?相关的知识,希望对你有一定的参考价值。

我从一个打开并读取YAML文件的函数返回一个对象<generator object load_all at 0x000000000309AB40>。从这个回归,我需要创建一个有组织的文件字典。

#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'}。我从档案中丢失了很多信息!如何使用文件数据创建正确的字典?

答案

这对我来说可以:

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}}

以上是关于如何将对象转换为字典?的主要内容,如果未能解决你的问题,请参考以下文章

如何将对象转换为字典?

Python Flask:如何将字典对象转换为 json? [复制]

将字典转换为 c# 对象

如何将 BVH 节点对象转换为简单数组?

将表转换为像字典一样的 json 对象 SQL?

如何使用列表和字典将字符串转换为二进制代码