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.
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