PYTHON HILFE

PyYAML (Wie es für Entwickler funktioniert)

Einführung

PyYAML ist eine Python-Bibliothek, die als YAML-Parser und -Emitter fungiert. YAML (YAML Ain’t Markup Language) ist ein menschenlesbares Datenserialisierungsformat, das sich gut in Python-Anwendungen integriert, eine hervorragende Fehlerunterstützung, eine leistungsfähige Erweiterungs-API und mehr bietet. YAML wird häufig für Konfigurationsdateien und den Datenaustausch zwischen Sprachen mit unterschiedlichen Datenstrukturen verwendet, wobei die Lesbarkeit für den Menschen im Vordergrund steht. Später in diesem Artikel werden wir uns IronPDF ansehen, ein PDF-Erstellungspaket für Python von Iron Software.

Hauptmerkmale von PyYAML

  1. Menschlich lesbares Format: YAML ist so konzipiert, dass es leicht zu lesen und zu schreiben ist, was es ideal für komplexe Konfigurationsdateien und Datenserialisierung macht.

  2. Volle YAML 1.1 Unterstützung: PyYAML unterstützt die vollständige YAML 1.1 Spezifikation, einschließlich Unicode-Unterstützung und benutzerdefinierte Datentypen.

  3. Integration mit Python: PyYAML bietet Python-spezifische Tags, die die Darstellung beliebiger Python-Objekte ermöglichen, wodurch es für verschiedene Anwendungen vielseitig einsetzbar ist.

  4. Fehlerbehandlung: PyYAML bietet verständliche Fehlermeldungen, die während der Fehlerbehebung sehr hilfreich sein können.

Einrichtung

Um das YAML-Paket zu installieren, können Sie pip verwenden:

pip install pyyaml
pip install pyyaml
SHELL

Grundlegende Verwendung

Hier ein einfaches Beispiel für die Verwendung von PyYAML, um ein YAML-Dokument in ein beliebiges Python-Objekt zu laden bzw. aus diesem zu löschen.

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

Ausgabe

PyYAML (Wie es für Entwickler funktioniert): Abbildung 1

Erweiterte Funktionen

  1. Benutzerdefinierte Datentypen: PyYAML ermöglicht es Ihnen, benutzerdefinierte Konstruktoren und Repräsentationen zu definieren, um komplexe Datentypen im kanonischen YAML-Format zu verarbeiten.
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

Ausgabe

PyYAML (Wie es für Entwickler funktioniert): Abbildung 2

  1. Umgang mit großen Dateien: PyYAML kann mehrere YAML-Dokumente oder große YAML-Dateien effizient verarbeiten, indem es streambasiertes Laden und Speichern verwendet.
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

Ausgabe

PyYAML (Wie es für Entwickler funktioniert): Abbildung 3

Einführung in IronPDF

PyYAML (Wie es für Entwickler funktioniert): Abbildung 4

IronPDF ist eine leistungsstarke Python-Bibliothek, die zum Erstellen, Bearbeiten und Signieren von PDFs mithilfe von HTML, CSS, Bildern und JavaScript entwickelt wurde. Sie bietet kommerzielle Leistung bei geringem Speicherbedarf. Die wichtigsten Merkmale sind:

Konvertierung von HTML in PDF

Konvertieren Sie HTML-Dateien, HTML-Strings und URLs in PDFs. Sie können zum Beispiel eine Webseite mit dem Chrome PDF-Renderer als PDF wiedergeben.

Plattformübergreifende Unterstützung

Kompatibel mit verschiedenen .NET-Plattformen, einschließlich .NET Core, .NET Standard und .NET-Framework. Es unterstützt Windows, Linux und macOS.

Bearbeitung und Unterzeichnung

Legen Sie Eigenschaften fest, fügen Sie Sicherheit mit Passwörtern und Berechtigungen hinzu, und wenden Sie digitale Signaturen auf Ihre PDFs an.

Seitenvorlagen und Einstellungen

PDFs mit Kopf- und Fußzeilen, Seitenzahlen und einstellbaren Rändern anpassen. IronPDF unterstützt responsive Layouts und benutzerdefinierte Papierformate.

Einhaltung von Normen

IronPDF hält sich an PDF-Standards wie PDF/A und PDF/UA. Es unterstützt die UTF-8-Zeichenkodierung und verarbeitet Assets wie Bilder, CSS und Schriftarten.

Erzeugen von PDF-Dokumenten mit IronPDF und 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

Code Erläuterung

  1. Importe:

    • Das Skript beginnt mit dem Import der erforderlichen Python-Bibliotheken und -Module: yaml, json und ironpdf. Diese Bibliotheken werden für die Verarbeitung von YAML- und JSON-Datenformaten sowie für die PDF-Erzeugung mit IronPDF verwendet.
  2. Festlegen des Lizenzschlüssels:

    • Es gibt einen Schritt, um einen Lizenzschlüssel (License.LicenseKey = "Ihr Lizenzschlüssel") für IronPDF festzulegen. Dies ist entscheidend für die legale und effektive Nutzung der IronPDF-Bibliothek.
  3. Beispieldaten in YAML:

    • Definiert eine Beispiel-YAML-formatierte Zeichenfolge (yaml_data), die Informationen über eine hypothetische Person und deren Kinder enthält. Diese Daten dienen als Beispiel für die YAML-Verarbeitung.
  4. YAML-Operationen:

    • Das Skript lädt die YAML-Daten mit yaml.safe_load(), um sie in Python-Datenstrukturen umzuwandeln. Dadurch kann das Skript die Daten programmgesteuert bearbeiten und verarbeiten.
  5. Ausgabe in YAML:

    • Konvertiert Python-Datenstrukturen zurück in YAML-Format unter Verwendung von yaml.dump(). Hier wird gezeigt, wie Python-Objekte zur Speicherung oder Übertragung in das YAML-Format serialisiert werden können.
  6. In Dateien schreiben:

    • Schreibt die YAML-Daten mit yaml.dump() in eine Datei (output_file.yaml). Ebenso konvertiert es YAML-Daten in das JSON-Format und schreibt sie mithilfe von json.dump() in eine andere Datei (output_file.json).
  7. Lesen von JSON und Formatierung:

    • Dieser Vorgang liest die JSON-Daten aus output_file.json, analysiert sie und formatiert sie mit einem Einzug von 2 Leerzeichen mithilfe von json.dumps(). Dieser Vorgang veranschaulicht, wie JSON-Daten zur besseren Lesbarkeit oder Weiterverarbeitung gelesen und formatiert werden können.
  8. Erstellen von PDF mit IronPDF:

    • Verwendet IronPDF (ChromePdfRenderer()), um einen HTML-Inhaltsstring in ein PDF-Dokument zu rendern. Der HTML-Inhalt enthält die darin eingebetteten Original-YAML-Daten als Teil des Dokumentinhalts.
  9. Speichern von PDF:

    • Dieser letzte Schritt speichert das erstellte PDF-Dokument (awesome.pdf) mit pdf.SaveAs() im Dateisystem. Es zeigt, wie man PDF-Dokumente programmatisch erstellt und speichert.

Ausgabe

PyYAML (Wie es für Entwickler funktioniert): Abbildung 5

PDF

PyYAML (Wie es für Entwickler funktioniert): Abbildung 6

IronPDF-Lizenz

IronPDF läuft mit dem Lizenzschlüssel für Python. IronPDF for Python bietet einen kostenlosen Testlizenz-Schlüssel, mit dem Benutzer die umfangreichen Funktionen vor dem Kauf ausprobieren können.

Setzen Sie den Lizenzschlüssel an den Anfang des Skripts, bevor Sie das IronPDF-Paket verwenden:

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

Schlussfolgerung

PyYAML ist eine leistungsfähige und flexible Bibliothek für die Arbeit mit YAML in Python. Das für Menschen lesbare Format, die vollständige Unterstützung von YAML 1.1 und die Integration in Python machen es zu einer hervorragenden Wahl für Konfigurationsdateien, Datenserialisierung und vieles mehr. Egal ob es sich um einfache Konfigurationen oder komplexe Datenstrukturen handelt, PyYAML bietet Ihnen die Werkzeuge, die Sie für einen effektiven Umgang mit YAML-Daten benötigen.

IronPDF ist ein Python-Paket, das die Umwandlung von HTML-Inhalten in PDF-Dokumente erleichtert. Es bietet eine übersichtliche API (ChromePdfRenderer) für Entwickler, um hochwertige PDFs aus HTML zu erzeugen, einschließlich Unterstützung für moderne Webstandards wie CSS und JavaScript. Dies macht es zu einem effektiven Werkzeug zur dynamischen Erstellung und Speicherung von PDF-Dokumenten direkt aus Python-Anwendungen.

Chaknith Bin
Software-Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat tiefgehende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Erkenntnisse aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentation und einem insgesamt besseren Erlebnis bei.
< PREVIOUS
msgpack python (Wie es für Entwickler funktioniert)
NÄCHSTES >
sqlite utils Python (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2025.5 gerade veröffentlicht

Lizenzen anzeigen >