python - parser - yaml tutorial español
¿Analizar un archivo YAML en Python y acceder a los datos? (1)
Soy nuevo en YAML y he estado buscando formas de analizar un archivo YAML y utilizar / acceder a los datos del YAML analizado.
He encontrado explicaciones sobre cómo analizar el archivo YAML, por ejemplo, el tutorial PyYAML, " ¿Cómo puedo analizar un archivo YAML en Python ", " Convertir el dict de Python al objeto? ", Pero lo que no he encontrado es una ejemplo simple sobre cómo acceder a los datos del archivo YAML analizado.
Supongamos que tengo un archivo YAML como:
treeroot:
branch1: branch1 text
branch2: branch2 text
¿Cómo accedo al texto "texto de branch1"?
" Analizando YAML y Python? " Proporciona una solución, pero tuve problemas para acceder a los datos de un archivo YAML más complejo. Y, me pregunto si hay alguna forma estándar de acceder a los datos de un archivo YAML analizado, posiblemente algo similar a la notación " elementpath " o " elementpath " o algo que se usaría al analizar un archivo XML.
Dado que la función yaml.load()
de yaml.load()
analiza los documentos YAML en estructuras de datos nativas de Python, solo puede acceder a los elementos por clave o índice. Usando el ejemplo de la pregunta que vinculó:
import yaml
with open(''tree.yaml'', ''r'') as f:
doc = yaml.load(f)
Para acceder branch1 text
deberías usar:
txt = doc["treeroot"]["branch1"]
print txt
"branch1 text"
porque, en su documento YAML, el valor de la clave branch1
está debajo de la clave treeroot
.