我有一个YAML文件,其中存储了用户名及其ssh-keys。它看起来像这样:
---
- bjones:
name: Bob Jones
ssh_keys:
- "ssh-rsa dsgdsgds"
- "ssh-rsa gdgsadg"
- "ssh-rsa sagagsa"
- jsmith:
name: Jimmy Smith
ssh_keys:
- "ssh-rsa gjdgjas"
我想把它带入python中作为字典,但不确定如何做。
In [98]: data = yaml.safe_load(open("/user-list.yaml"))
In [99]: type(data)
Out[99]: list
我该从哪里去做这件事?
我还需要第一个具有多个ssh-key的用户,以便这些键也要出现在换行符列表中
答案 0 :(得分:1)
原始标记 是字典的列表-但您可以将这些字典链接在一起:
>>> from collections import ChainMap
>>> result = ChainMap(*data)
>>> result["jsmith"]
{'name': 'Jimmy Smith', 'ssh_keys': ['ssh-rsa gjdgjas']}
如果您确定原始标记(即len(data) == len(result)
)中没有重复的条目,则可以使用dict(result)
将其安全地转换回单个字典。