簡體   English   中英

將 yaml 文件加載為 dict

[英]Load yaml file as dict

我有一個存儲用戶名和他們的 ssh 密鑰的 YAML 文件。它看起來像這樣:

---
- bjones:
   name: Bob Jones
   ssh_keys:
   - "ssh-rsa dsgdsgds"
   - "ssh-rsa gdgsadg"
   - "ssh-rsa sagagsa"

- jsmith:
   name: Jimmy Smith
   ssh_keys:
   - "ssh-rsa gjdgjas"

我想將它作為 dict 帶入一些 python 中,但不確定如何。

In [98]: data = yaml.safe_load(open("/user-list.yaml"))
In [99]: type(data)
Out[99]: list

我該從哪里開始做一個 dict 呢?

我需要第一個具有多個 ssh 密鑰的用戶,以便密鑰也出現在換行符列表中

原始標記一個字典列表 - 但您可以將這些字典鏈接在一起:

>>> from collections import ChainMap
>>> result = ChainMap(*data)
>>> result["jsmith"]
{'name': 'Jimmy Smith', 'ssh_keys': ['ssh-rsa gjdgjas']}

如果您確定原始標記中沒有重復條目,即len(data) == len(result) ,那么您可以使用dict(result)安全地將其轉換回單個 dict。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM