我是YAML的新手,一直在寻找解析YAML文件和使用/访问已解析YAML数据的方法。
我遇到过有关如何解析YAML文件的解释,例如PyYAML教程“如何在Python中解析YAML文件”,“将Python字典转换为对象? ”,但是我没有找到一个关于如何从已解析的YAML文件访问数据的简单示例。
假设我有一个YAML文件,例如:
treeroot: branch1: branch1 text branch2: branch2 text
如何访问文本“ branch1文本”?
“ YAML解析和Python吗? ”提供了解决方案,但是在从更复杂的YAML文件访问数据时遇到了问题。而且,我不知道是否有来自解析YAML文件,可能是类似“东西访问数据的一些标准的方式树迭代”或“ elementpath这将解析XML文件时,可以使用”符号的东西?
由于PyYAML的yaml.load()功能将YAML文档解析为本地Python数据结构,因此您仅可以按键或索引访问项目。使用您所链接问题的示例:
yaml.load()
import yaml with open('tree.yaml', 'r') as f: doc = yaml.load(f)
要访问branch1 text您,请使用:
branch1 text
txt = doc["treeroot"]["branch1"] print txt "branch1 text"
因为在您的YAML文档中,branch1密钥的值在密钥之下treeroot。
branch1
treeroot