AYUDA DE PYTHON

PyYAML (Cómo funciona para desarrolladores)

Introducción

PyYAML es una biblioteca de Python que funciona como un analizador y generador de YAML. YAML (YAML Ain’t Markup Language) es un formato de serialización de datos legible por humanos que se integra bien con aplicaciones de Python, ofrece un excelente soporte de errores, una API de extensión capaz y más. YAML se utiliza a menudo para archivos de configuración e intercambio de datos entre lenguajes con diferentes estructuras de datos, teniendo en cuenta la legibilidad humana. Más adelante en este artículo analizaremos IronPDF, un paquete de generación de PDF para Python de Iron Software.

Principales características de PyYAML

  1. Formato legible por humanos: YAML está diseñado para ser fácil de leer y escribir, lo que lo hace ideal para archivos de configuración complejos y serialización de datos.

  2. Compatibilidad total con YAML 1.1: PyYAML es compatible con la especificación completa de YAML 1.1, incluyendo soporte Unicode y tipos de datos personalizados.

  3. Integración con Python: PyYAML proporciona etiquetas específicas de Python que permiten la representación de objetos Python arbitrarios, lo que lo hace versátil para diversas aplicaciones.

  4. Manejo de Errores: PyYAML ofrece mensajes de error sensatos, que pueden ser muy útiles durante la depuración.

Instalación

Para instalar el paquete YAML, puede utilizar pip:

pip install pyyaml
pip install pyyaml
SHELL

Uso básico

Aquí tienes un ejemplo sencillo de cómo usar PyYAML para cargar y volcar un documento YAML desde y hacia un objeto Python arbitrario.

import yaml
# Sample YAML data
yaml_data = """
name: John Doe
age: 30
children:
  - name: Jane Doe
    age: 10
  - name: Jim Doe
    age: 8
"""
# Load YAML data
data = yaml.safe_load(yaml_data)
print(data)
# Dump Python data to YAML
yaml_output = yaml.dump(data, default_flow_style=False)
print(yaml_output)
py
PYTHON

Salida

PyYAML (Cómo Funciona Para Desarrolladores): Figura 1

Funciones avanzadas

  1. Tipos de datos personalizados: PyYAML te permite definir constructores y representadores personalizados para manejar tipos de datos complejos en formato YAML canónico.
import yaml
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
def person_representer(dumper, data):
    return dumper.represent_mapping('!Person', {'name': data.name, 'age': data.age})
def person_constructor(loader, node):
    values = loader.construct_mapping(node)
    return Person(**values)
yaml.add_representer(Person, person_representer)
yaml.add_constructor('!Person', person_constructor)
# Object Serialization
person = Person(name='John Doe', age=30)
yaml_data = yaml.dump(person)
print(yaml_data)
# Deserialize YAML to a Person object
loaded_person = yaml.load(yaml_data, Loader=yaml.FullLoader)
print(loaded_person.name, loaded_person.age)
py
PYTHON

Salida

PyYAML (Cómo funciona para desarrolladores): Figura 2

  1. Manejo de Archivos Grandes: PyYAML puede manejar múltiples documentos YAML o archivos YAML grandes de manera eficiente usando carga y volcado basados en flujo.
import yaml
# Load a large YAML file
with open('large_file.yaml', 'r') as file:
    data = yaml.safe_load(file)
# Dump data to a large YAML file
with open('output_file.yaml', 'w') as file:
    yaml.dump(data, file)
py
PYTHON

Salida

PyYAML (Cómo funciona para desarrolladores): Figura 3

Presentación de IronPDF

PyYAML (Cómo funciona para desarrolladores): Figura 4

IronPDF es una potente biblioteca de Python diseñada para crear, editar y firmar PDFs utilizando HTML, CSS, imágenes y JavaScript. Ofrece un rendimiento de nivel comercial con un bajo consumo de memoria. Las características clave incluyen:

Conversión de HTML a PDF

Convierta archivos HTML, cadenas HTML y URL en PDF. Por ejemplo, renderiza una página web como PDF utilizando el renderizador de PDF de Chrome.

Soporte multiplataforma

Compatible con varias plataformas .NET, incluidas .NET Core, .NET Standard y .NET Framework. Es compatible con Windows, Linux y macOS.

Edición y firma

Establezca propiedades, añada seguridad con contraseñas y permisos, y aplique firmas digitales a sus PDF.

Plantillas de página y configuración

Personalice los PDF con encabezados, pies de página, números de página y márgenes ajustables. IronPDF admite diseños adaptables y tamaños de papel personalizados.

Cumplimiento de las normas

IronPDF cumple estándares PDF como PDF/A y PDF/UA. Admite la codificación de caracteres UTF-8 y gestiona activos como imágenes, CSS y fuentes.

Generar documentos PDF con IronPDF y PyYaml

import yaml
import json
from ironpdf import * 
# Apply your license key
License.LicenseKey = "your license"
# Sample YAML data with standard yaml tags
yaml_data = """
name: IronPDF User1
age: 25
children:
  - name: IronPDF User2
    age: 23
  - name: IronPDF User3
    age: 24
"""
# Load YAML data to only basic python objects
data = yaml.safe_load(yaml_data)
print(data)
# Dump Python data to YAML
yaml_output = yaml.dump(data, default_flow_style=False)
print(yaml_output)
# Write YAML to File 
with open('output_file.yaml', 'w') as file:
    yaml.dump(yaml_output, file)
# Write YAML as JSON
with open('output_file.json', 'w') as json_file:
    json.dump(yaml_output, json_file)
# Read Json and Indent
output = json.dumps(json.load(open('output_file.json')), indent=2)
print(output)
# create Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome Iron PDF with PYYML</h1>"
content += "<p>YAML data: "+ yaml_data +"</p>"
pdf = renderer.RenderHtmlAsPdf(content)    
    # Export to a file or Stream
pdf.SaveAs("awesome.pdf")
py
PYTHON

Código Explicación

  1. Importaciones:

    • El script comienza importando las librerías y módulos de Python necesarios: yaml, json y ironpdf. Estas bibliotecas se utilizan para manejar los formatos de datos YAML y JSON, así como para la generación de PDF mediante IronPDF.
  2. Configuración de la clave de licencia:

    • Hay un paso para establecer una clave de licencia (License.LicenseKey = "your license") para IronPDF. Esto es crucial para utilizar la biblioteca IronPDF de forma legal y eficaz.
  3. Datos de YAML de ejemplo:

    • Define una cadena con formato YAML de ejemplo (yaml_data) que contiene información sobre una persona hipotética y sus hijos. Estos datos sirven de ejemplo para demostrar el procesamiento de YAML.
  4. Operaciones YAML:

    • El script carga los datos YAML utilizando yaml.safe_load() para convertirlos en estructuras de datos de Python. Esto permite al script manipular y trabajar con los datos mediante programación.
  5. Volcado a YAML:

    • Convierte estructuras de datos de Python de nuevo al formato YAML usando yaml.dump(). Esto demuestra cómo serializar objetos Python en formato YAML para su almacenamiento o transmisión.
  6. Escribir en archivos:

    • Escribe los datos YAML en un archivo (output_file.yaml) usando yaml.dump(). De manera similar, convierte datos YAML en formato JSON y los escribe en otro archivo (output_file.json) usando json.dump().
  7. Lectura de JSON y Formateo:

    • Esta operación lee los datos JSON de output_file.json, los analiza y los formatea con una indentación de 2 espacios usando json.dumps(). Esta operación ilustra cómo leer y formatear datos JSON para una mejor legibilidad o procesamiento posterior.
  8. Generando PDF con IronPDF:

    • Utiliza IronPDF (ChromePdfRenderer()) para renderizar una cadena de contenido HTML en un documento PDF. El contenido HTML incluye los datos YAML originales incrustados como parte del contenido del documento.
  9. Guardar PDF:

    • Este paso final guarda el documento PDF generado (awesome.pdf) en el sistema de archivos usando pdf.SaveAs(). Demuestra cómo crear y guardar documentos PDF mediante programación.

Salida

PyYAML (Cómo funciona para desarrolladores): Figura 5

PDF

PyYAML (Cómo Funciona Para Desarrolladores): Figura 6

Licencia IronPDF

IronPDF se ejecuta con la clave de licencia para Python. IronPDF for Python ofrece una clave de licencia de prueba gratuita para permitir a los usuarios probar sus extensas características antes de la compra.

Coloque la clave de licencia al inicio del script antes de utilizar el paquete IronPDF:

from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
py
PYTHON

Conclusión

PyYAML es una biblioteca potente y flexible para trabajar con YAML en Python. Su formato legible por humanos, su compatibilidad total con YAML 1.1 y su integración con Python lo convierten en una opción excelente para archivos de configuración, serialización de datos y mucho más. Tanto si se trata de configuraciones sencillas como de estructuras de datos complejas, PyYAML proporciona las herramientas necesarias para manejar datos YAML de forma eficaz.

IronPDF es un paquete de Python que facilita la conversión de contenidos HTML en documentos PDF. Ofrece una API sencilla (ChromePdfRenderer) para que los desarrolladores generen PDFs de alta calidad a partir de HTML, incluyendo soporte para estándares web modernos como CSS y JavaScript. Esto la convierte en una herramienta eficaz para crear y guardar dinámicamente documentos PDF directamente desde aplicaciones Python.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.
< ANTERIOR
msgpack python (Cómo funciona para los desarrolladores)
SIGUIENTE >
sqlite utils Python (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2025.5 acaba de salir

Ver licencias >