Analizar un archivo YAML en Python

Rayven Esplanada 10 octubre 2023
Analizar un archivo YAML en Python

Este tutorial demostrará diferentes formas de analizar un archivo YAML en Python.

YAML es un estándar de serialización de datos que se utiliza como tipo de archivo para almacenar archivos de configuración o propiedades dentro de un proyecto. YAML a menudo reemplaza los archivos de configuración XML o JSON típicos porque los archivos son más fáciles de serializar que ambos tipos de archivos.

Utilice el paquete PyYAML para analizar YAML en Python

pyyaml es un paquete de Python que proporciona utilidades para analizar y manipular archivos YAML dentro de Python.

El primer paso a hacer es instalar pyyaml usando pip ya que no está disponible para Python.

pip install pyyaml 

Para los usuarios de Python 3.x, utilice pip3 en lugar de pip.

pip3 install pyyaml

Ahora que la instalación está lista, proceda a analizar un archivo YAML de muestra. Un archivo YAML siempre tendrá tres guiones --- al comienzo del archivo para indicar el comienzo de un nuevo documento YAML.

Tenga en cuenta que los espacios deben usarse exclusivamente al sangrar archivos YAML, ya que estos archivos no reconocerán los espacios de tabulación como sangrías.

Los archivos YAML pueden tener una extensión de .yaml o .yml.

  • sample.yaml
---
	name: "John"
	age: 23
	isMale: true
	hobbies:
		- swimming
		- fishing
		- diving

Para leer el archivo YAML dado en Python, primero importe el módulo yaml. Luego, abra el archivo yaml usando la función open(). El módulo yaml tiene una función predefinida load(), que acepta un archivo como argumento, carga un archivo YAML en Python y lo convierte en un tipo de datos de objeto Python.

import yaml

with open("sample.yaml", "r") as f:
    print(yaml.load(f))

Si imprime la salida de yaml.load(), mostrará el contenido del archivo YAML en un formato de objeto Python.

Producción :

{'name': 'John', 'age': 23, 'isMale': True, 'hobbies': ['swimming', 'fishing', 'diving']}

Para asegurarnos de que el archivo YAML existe y no está dañado, es seguro de usar, podemos agregar un bloque try y capturar la excepción usando el objeto de error incorporado dentro del módulo yaml YAMLError. Otra capa para hacer que el código sea más seguro de usar es reemplazar la función load() con safe_load(), que valida el archivo YAML antes de cargarlo.

import yaml

with open("sample.yaml", "r") as stream:
    try:
        print(yaml.safe_load(stream))
    except yaml.YAMLError as exc:
        print(exc)

Esta solución tiene el mismo resultado que la solución anterior, aunque este es un enfoque mucho más seguro para analizar un archivo YAML en Python.

En resumen, analizar un archivo YAML en Python se puede lograr fácilmente usando el módulo yaml. Asegúrese de realizar pip install pyyaml antes de usar el módulo, ya que no se integra fácilmente.

Siempre es una buena práctica encapsular las funciones de manipulación de archivos con bloques try...except para asegurarse de que la manipulación de archivos se realice sin problemas y sea segura de realizar.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

Artículo relacionado - Python YAML