PYTHON HILFE

PyYAML (Wie es für Entwickler funktioniert)

Veröffentlicht 13. August 2024
Teilen Sie:

Einführung

PyYAML ist eine Python-Bibliothek, die als YAML-Parser und Emitter arbeitet. YAML (YAML ist keine Auszeichnungssprache)ist ein von Menschen lesbares Daten-Serialisierungsformat, das sich gut in Python-Anwendungen integrieren lässt, eine hervorragende Fehlerunterstützung bietet, eine leistungsfähige Erweiterungs-API hat und vieles mehr. 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 mit folgenden Themen befassen IronPDF, ein Python-Paket zur PDF-Erzeugung von IronSoftware.

Hauptmerkmale von PyYAML

  1. Menschlich lesbares Format: YAML ist einfach zu lesen und zu schreiben und damit ideal für komplexe Konfigurationsdateien und die Serialisierung von Daten.

  2. Vollständige YAML 1.1-Unterstützung: PyYAML unterstützt die komplette 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, was es vielseitig für verschiedene Anwendungen einsetzbar macht.

  4. Fehlerbehandlung: PyYAML bietet sinnvolle Fehlermeldungen, die bei der Fehlersuche sehr hilfreich sein können.

Einrichtung

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

pip install pyyaml

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

Ausgabe

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

Erweiterte Funktionen

  1. Benutzerdefinierte Datentypen: PyYAML erlaubt die Definition von eigenen Konstruktoren und Repräsentatoren zur Behandlung komplexer Datentypen für das kanonische YAML-Format.
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

Ausgabe

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

  1. Handhabung großer Dateien: PyYAML kann mehrere YAML-Dokumente oder große YAML-Dateien effizient handhaben, indem es Stream-basiertes Laden und Dumpen 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)
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 zum Erstellen, Bearbeiten und Signieren von PDFs mit HTML, CSS, Bildern und JavaScript. 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")
PYTHON

Code Erläuterung

  1. Einfuhren:

    • 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. Einstellen des Lizenzschlüssels:

    • Es gibt einen Schritt zum Einstellen eines Lizenzschlüssels (License.LicenseKey = "Ihre Lizenz") für IronPDF. Dies ist entscheidend für die legale und effektive Nutzung der IronPDF-Bibliothek.
  3. Beispiel YAML-Daten:

    • Definiert eine beispielhafte YAML-formatierte Zeichenkette (yaml_data) die Informationen über eine hypothetische Person und ihre Kinder enthält. Diese Daten dienen als Beispiel für die YAML-Verarbeitung.
  4. YAML-Vorgänge:

    • 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. Dumping nach YAML:

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

    • Schreibt die YAML-Daten in eine Datei (output_file.yaml) mit yaml.dump(). In ähnlicher Weise werden YAML-Daten in das JSON-Format konvertiert und in eine andere Datei geschrieben (output_file.json) mit json.dump().
  7. Lesen von JSON und Formatierung:

    • Diese Operation liest die JSON-Daten aus output_file.json, analysiert sie und formatiert sie mit einer Einrückung von 2 Leerzeichen mit json.dumps(). Dieser Vorgang veranschaulicht, wie JSON-Daten zur besseren Lesbarkeit oder Weiterverarbeitung gelesen und formatiert werden können.
  8. PDF-Erstellung mit IronPDF:

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

    • Dieser letzte Schritt speichert das generierte PDF-Dokument (genial.pdf) im Dateisystem mit pdf.SaveAs(). 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 eine kostenloser Test lizenzschlüssel, damit die Benutzer die umfangreichen Funktionen vor dem Kauf testen 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"
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 unkomplizierte API (ChromePdfRenderer) für Entwickler, um hochwertige PDFs aus HTML zu generieren, 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.

< 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: 2024.9 gerade veröffentlicht

pip install gratuit Lizenzen anzeigen >