我是 YAML 新手,一直在寻找解析 YAML 文件和使用/访问解析后的 YAML 数据的方法。
我遇到过关于如何解析 YAML 文件的解释,例如 PyYAML tutorial 、“How can I parse a YAML file in Python”、“Convert Python dict to object?”,但我还没有找到一个关于如何从已解析的 YAML 文件中访问数据的简单示例。
假设我有一个 YAML 文件,例如:
treeroot:
branch1: branch1 text
branch2: branch2 text
如何访问文本“branch1 text”?
“YAML parsing and Python?”提供了一个解决方案,但我在访问更复杂的 YAML 文件中的数据时遇到了问题。而且,我想知道是否有某种标准方法可以从已解析的 YAML 文件中访问数据,可能类似于“tree iteration”或“elementpath”符号或在解析 XML 文件时使用的符号?
最佳答案
由于 PyYAML 的 yaml.load()
函数将 YAML 文档解析为原生 Python 数据结构,因此您可以通过键或索引访问项目。使用您链接的问题中的示例:
import yaml
with open('tree.yaml', 'r') as f:
doc = yaml.load(f)
要访问 branch1 text
,您可以使用:
txt = doc["treeroot"]["branch1"]
print txt
"branch1 text"
因为,在您的 YAML 文档中,branch1
键的值位于 treeroot
键下。
关于python - 在 Python 中解析 YAML 文件并访问数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8127686/