找到了一个方便的库来完全满足我的需要:https ://github.com/Infinidat/munch
import yaml
from munch import Munch
mydict = yaml.safe_load("""
a: 1
b:
- q: "foo"
r: 99
s: 98
- x: "bar"
y: 97
z: 96
c:
d: 7
e: 8
f: [9,10,11]
""")
mymunch = Munch(mydict)
(我不得不编写一个简单的方法来将所有下标递归转换为munch,但是现在我可以使用例如
>>> mymunch.b.q
"foo"