AIDE PYTHON

PyYAML (Comment ça marche pour les développeurs)

Publié août 13, 2024
Partager:

Introduction

PyYAML est une bibliothèque Python qui fonctionne comme un analyseur et un émetteur YAML. YAML(YAML n'est pas un langage de balisage)est un format de sérialisation de données lisibles par l'homme qui s'intègre bien aux applications Python, offre une excellente prise en charge des erreurs, une API d'extension performante, et bien plus encore. YAML est souvent utilisé pour les fichiers de configuration et l'échange de données entre des langages ayant des structures de données différentes, dans un souci de lisibilité pour l'homme. Dans la suite de cet article, nous aborderons les points suivantsIronPDFun paquetage Python de génération de PDF deIron Software.

Principales caractéristiques de PyYAML

  1. Format lisible par l'homme : YAML est conçu pour être facile à lire et à écrire, ce qui le rend idéal pour les fichiers de configuration complexes et la sérialisation des données.

  2. Support complet de YAML 1.1 : PyYAML supporte l'intégralité de la spécification YAML 1.1, y compris le support de l'Unicode et les types de données personnalisés.

  3. Intégration avec Python : PyYAML fournit des balises spécifiques à Python qui permettent la représentation d'objets Python arbitraires, ce qui le rend polyvalent pour diverses applications.

  4. Gestion des erreurs : PyYAML propose des messages d'erreur judicieux, qui peuvent être très utiles lors du débogage.

Installation

Pour installer le paquet YAML, vous pouvez utiliser pip :

pip install pyyaml

Utilisation de base

Voici un exemple simple de l'utilisation de PyYAML pour charger et vider un document YAML vers et depuis un objet Python arbitraire.

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)
PYTHON

Sortie

PyYAML(Comment ça marche pour les développeurs) : Figure 1

Fonctionnalités avancées

  1. Types de données personnalisés : PyYAML vous permet de définir des constructeurs et des représentants personnalisés pour gérer des types de données complexes au format YAML canonique.
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)
PYTHON

Sortie

PyYAML(Comment ça marche pour les développeurs) : Figure 2

  1. Gestion des gros fichiers : PyYAML peut gérer plusieurs documents YAML ou de gros fichiers YAML de manière efficace en utilisant un chargement et un vidage basés sur les flux.
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)
PYTHON

Sortie

PyYAML(Comment ça marche pour les développeurs) : Figure 3

Présentation d'IronPDF

PyYAML(Comment ça marche pour les développeurs) : Figure 4

IronPDF est une puissante bibliothèque Python conçue pour créer, modifier et signer des PDF à l'aide de HTML, CSS, images et JavaScript. Il offre des performances de niveau commercial avec une faible empreinte mémoire. Les principales caractéristiques sont les suivantes :

Conversion de HTML en PDF

Convertissez des fichiers HTML, des chaînes HTML et des URL en PDF. Par exemple, rendre une page web sous forme de PDF à l'aide du moteur de rendu PDF de Chrome.

Support multiplateforme

Compatible avec diverses plateformes .NET, notamment .NET Core, .NET Standard et .NET Framework. Il est compatible avec Windows, Linux et macOS.

Édition et signature

Définissez des propriétés, renforcez la sécurité à l'aide de mots de passe et d'autorisations, et appliquez des signatures numériques à vos PDF.

Modèles de page et paramètres

Personnalisez les PDF avec des en-têtes, des pieds de page, des numéros de page et des marges réglables. IronPDF prend en charge les mises en page réactives et les formats de papier personnalisés.

Respect des normes

IronPDF respecte les normes PDF telles que PDF/A et PDF/UA. Il prend en charge le codage des caractères UTF-8 et gère les ressources telles que les images, les feuilles de style CSS et les polices.

Générer des documents PDF avec IronPDF et 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")
PYTHON

Explication du code

  1. Importations:

    • Le script commence par importer les bibliothèques et modules Python nécessaires : yaml, json et ironpdf. Ces bibliothèques sont utilisées pour gérer les formats de données YAML et JSON, ainsi que pour la génération de PDF à l'aide d'IronPDF.
  2. Configuration de la clé de licence:

    • Il y a une étape pour définir une clé de licence(License.LicenseKey = "votre licence") pour IronPDF. Ceci est crucial pour utiliser la bibliothèque IronPDF de manière légale et efficace.
  3. Sample YAML Data:

    • Définit un exemple de chaîne formatée YAML(yaml_data) qui contient des informations sur une personne hypothétique et ses enfants. Ces données servent d'exemple pour démontrer le traitement YAML.
  4. YAML Operations:

    • Le script charge les données YAML en utilisant yaml.safe_load() pour le convertir en structures de données Python. Cela permet au script de manipuler et de travailler avec les données de manière programmatique.
  5. Dumping to YAML:

    • Convertit les structures de données Python au format YAML en utilisant yaml.dump(). Ceci démontre comment sérialiser des objets Python au format YAML pour le stockage ou la transmission.
  6. Écriture dans les fichiers:

    • Écrit les données YAML dans un fichier(fichier_de_sortie.yaml) en utilisant yaml.dump(). De même, il convertit les données YAML au format JSON et les écrit dans un autre fichier(fichier_de_sortie.json) en utilisant json.dump().
  7. Lecture de JSON et formatage:

    • Cette opération lit les données JSON du fichier_de_sortie.json, les analyse et les formate avec une indentation de 2 espaces en utilisant json.dumps(). Cette opération illustre comment lire et formater des données JSON pour une meilleure lisibilité ou un traitement ultérieur.
  8. Générer des PDF avec IronPDF:

    • Utilise IronPDF(ChromePdfRenderer()) pour transformer une chaîne de contenu HTML en un document PDF. Le contenu HTML inclut les données YAML d'origine dans le contenu du document.
  9. Sauvegarde du PDF:

    • Cette dernière étape permet d'enregistrer le document PDF généré(awesome.pdf) sur le système de fichiers en utilisant pdf.SaveAs(). Il montre comment créer et enregistrer des documents PDF par programme.

Sortie

PyYAML(Comment ça marche pour les développeurs) : Figure 5

PDF (EN ANGLAIS)

PyYAML(Comment ça marche pour les développeurs) : Figure 6

Licence d'IronPDF

IronPDF fonctionne avec la clé de licence pour Python. IronPDF pour Python offre un service deessai gratuit afin de permettre aux utilisateurs de vérifier ses nombreuses fonctionnalités avant de l'acheter.

Placez la clé de licence au début du script avant d'utiliser le progiciel IronPDF :

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

Conclusion

PyYAML est une bibliothèque puissante et flexible pour travailler avec YAML en Python. Son format lisible par l'homme, la prise en charge complète de YAML 1.1 et l'intégration avec Python en font un excellent choix pour les fichiers de configuration, la sérialisation des données, etc. Qu'il s'agisse de simples configurations ou de structures de données complexes, PyYAML fournit les outils dont vous avez besoin pour manipuler efficacement les données YAML.

IronPDF est un paquetage Python qui facilite la conversion de contenu HTML en documents PDF. Il offre une API simple(ChromePdfRenderer) qui permet aux développeurs de générer des PDF de haute qualité à partir de HTML, y compris la prise en charge des normes web modernes telles que CSS et JavaScript. Cela en fait un outil efficace pour créer et enregistrer dynamiquement des documents PDF directement à partir d'applications Python.

< PRÉCÉDENT
msgpack python (Comment cela fonctionne pour les développeurs)
SUIVANT >
sqlite utils Python (Comment ça marche pour les développeurs)

Prêt à commencer ? Version : 2024.12 vient de paraître

Installation gratuite de pip Voir les licences > ;