IRONSOFTWAREHOME
POMOC DOTYCZĄCA JĘZYKA PYTHON

PyYAML (Jak działa dla programistów)

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

PyYAML to biblioteka języka Python, która działa jako parser i emiter YAML. YAML (YAML Ain't Markup Language) to czytelny dla człowieka format serializacji danych, który dobrze integruje się z aplikacjami w Pythonie, oferuje doskonałe wsparcie dla błędów, rozbudowane API rozbudowy i więcej. YAML jest często używany do tworzenia plików konfiguracyjnych i wymiany danych między językami o różnych strukturach danych, z myślą o czytelności dla człowieka. W dalszej części tego artykułu przyjrzymy się IronPDF, pakietowi do generowania plików PDF w języku Python firmy Iron Software.

Kluczowe cechy PyYAML

  1. Format czytelny dla człowieka: YAML został zaprojektowany tak, aby był łatwy do odczytania i zapisu, co czyni go idealnym rozwiązaniem dla złożonych plików konfiguracyjnych i serializacji danych.
  2. Pełna obsługa YAML 1.1: PyYAML obsługuje pełną specyfikację YAML 1.1, w tym obsługę Unicode i niestandardowe typy danych.
  3. Integracja z Pythonem: PyYAML udostępnia tagi specyficzne dla języka Python, które umożliwiają reprezentację dowolnych obiektów Pythona, dzięki czemu jest wszechstronny w różnych zastosowaniach.
  4. Obsługa błędów: PyYAML oferuje sensowne komunikaty o błędach, które mogą być bardzo pomocne podczas debugowania.

Instalacja

Aby zainstalować pakiet YAML, można użyć pip:

pip install pyyaml
SHELL

Podstawowe zastosowanie

Oto prosty przykład wykorzystania PyYAML do ładowania i zapisywania dokumentu YAML do i z dowolnego obiektu w języku Python.

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 into a Python dictionary
data = yaml.safe_load(yaml_data)
print(data)

# Dump Python data back to formatted YAML
yaml_output = yaml.dump(data, default_flow_style=False)
print(yaml_output)
Python

Wynik

PyYAML (Jak działa dla programistów): Rysunek 1

Zaawansowane funkcje

  1. Niestandardowe typy danych: PyYAML pozwala definiować niestandardowe konstruktory i reprezentatory do obsługi złożonych typów danych w kanonicznym formacie YAML.
import yaml

# Define a custom Python object
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# Function to convert a Person object to a YAML representation
def person_representer(dumper, data):
    return dumper.represent_mapping('!Person', {'name': data.name, 'age': data.age})

# Function to create a Person object from YAML representation
def person_constructor(loader, node):
    values = loader.construct_mapping(node)
    return Person(**values)

# Register custom representer and constructor for Person
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

Wynik

PyYAML (Jak działa dla programistów): Rysunek 2

  1. Obsługa dużych plików: PyYAML może efektywnie obsługiwać wiele dokumentów YAML lub duże pliki YAML, wykorzystując ładowanie i zrzut oparte na strumieniu.
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

Wynik

PyYAML (Jak działa dla programistów): Rysunek 3

Przedstawiamy IronPDF

PyYAML (Jak działa dla programistów): Rysunek 4

IronPDF to potężna biblioteka języka Python przeznaczona do tworzenia, edytowania i podpisywania plików PDF przy użyciu HTML, CSS, obrazów i JavaScript. Oferuje wydajność na poziomie komercyjnym przy niewielkim zużyciu pamięci. Najważniejsze cechy to:

  • Konwersja HTML do PDF: Konwertuj pliki HTML, ciągi znaków HTML i adresy URL na pliki PDF. Na przykład, renderuj stronę internetową jako plik PDF przy użyciu renderera PDF przeglądarki Chrome.

  • Obsługa wielu platform: Kompatybilność z różnymi platformami .NET, w tym .NET Core, .NET Standard i .NET Framework. Obsługuje systemy Windows, Linux i macOS.

  • Edycja i podpisywanie: Ustawiaj właściwości, dodawaj zabezpieczenia za pomocą haseł i uprawnień oraz stosuj podpisy cyfrowe w plikach PDF.

  • Szablony stron i ustawienia: Dostosuj pliki PDF za pomocą nagłówków, stopek, numerów stron i regulowanych marginesów. IronPDF obsługuje responsywne układy i niestandardowe rozmiary papieru.

  • Zgodność ze standardami: IronPDF jest zgodny ze standardami PDF, takimi jak PDF/A i PDF/UA. Obsługuje kodowanie znaków UTF-8 oraz pliki takie jak obrazy, CSS i czcionki.

Generowanie dokumentów PDF przy użyciu IronPDF i PyYAML

import yaml
import json
from ironpdf import *

# Apply your license key
License.LicenseKey = "your license"

# Sample YAML data
yaml_data = """
name: IronPDF User1
age: 25
children:
  - name: IronPDF User2
    age: 23
  - name: IronPDF User3
    age: 24
"""

# Load YAML data into Python structures
data = yaml.safe_load(yaml_data)
print(data)

# Dump Python data back 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 data as JSON
with open('output_file.json', 'w') as json_file:
    json.dump(data, json_file)

# Read JSON and format with indentation for readability
output = json.dumps(json.load(open('output_file.json')), indent=2)
print(output)

# Create PDF renderer
renderer = ChromePdfRenderer()

# Create a PDF from HTML containing YAML data
content = "<h1>Awesome Iron PDF with PyYAML</h1>"
content += "<p>YAML data: " + yaml_output + "</p>"
pdf = renderer.RenderHtmlAsPdf(content)

# Save the PDF document to a file
pdf.SaveAs("awesome.pdf")
Python

Wyjaśnienie kodu

  1. Importy:

    • Importuje potrzebne biblioteki: yaml do operacji na YAML, json do operacji na JSON, oraz ironpdf do generacji PDF.
  2. Ustawianie klucza licencyjnego:

    • Ustawia klucz licencyjny IronPDF w celu uzyskania legalnego i funkcjonalnego dostępu do biblioteki.
  3. Przykładowe dane YAML:

    • Definiuje przykładowe dane YAML w celu zademonstrowania operacji YAML.
  4. Operacje YAML:

    • Konwertuje dane YAML na obiekty Python przy użyciu yaml.safe_load() do manipulacji.
  5. Eksport do YAML:

    • Konwertuje obiekty Python z powrotem na format YAML do wyjścia przy użyciu yaml.dump().
  6. Zapisywanie do plików:

    • Eksportuje dane YAML do pliku YAML, a dane JSON do pliku JSON w celu przechowywania lub przesyłania.
  7. Odczytywanie i formatowanie JSON:

    • Odczytuje dane JSON z pliku i formatuje je dla czytelności przy użyciu json.dumps().
  8. Generowanie plików PDF za pomocą IronPDF:

    • Wykorzystuje IronPDF do renderowania ciągu znaków HTML do dokumentu PDF, w tym osadzonych danych YAML.
  9. Zapisywanie plików PDF:

    • Zapisuje wygenerowany plik PDF w systemie plików, demonstrując programowe tworzenie plików PDF.

Wynik

PyYAML (Jak działa dla programistów): Rysunek 5

PDF

PyYAML (Jak działa dla programistów): Rysunek 6

Licencja IronPDF

IronPDF działa na kluczu licencyjnym dla języka Python. IronPDF for Python oferuje bezpłatną licencję próbną, aby umożliwić użytkownikom zapoznanie się z jego rozbudowanymi funkcjami przed zakupem.

Umieść klucz licencyjny na początku skryptu przed użyciem pakietu IronPDF:

from ironpdf import *

# Apply your license key
License.LicenseKey = "key"
Python

Wnioski

PyYAML to potężna i elastyczna biblioteka do pracy z YAML w języku Python. Jego format czytelny dla ludzi, pełna obsługa YAML 1.1 oraz integracja z Pythonem sprawiają, że jest to doskonały wybór do plików konfiguracyjnych, serializacji danych i nie tylko. Niezależnie od tego, czy masz do czynienia z prostymi konfiguracjami, czy złożonymi strukturami danych, PyYAML zapewnia narzędzia potrzebne do efektywnej obsługi danych YAML.

IronPDF to pakiet w języku Python, który ułatwia konwersję treści HTML do dokumentów PDF. Oferuje prosty interfejs API (ChromePdfRenderer), umożliwiający programistom generowanie wysokiej jakości plików PDF z HTML, w tym obsługę nowoczesnych standardów internetowych, takich jak CSS i JavaScript. Dzięki temu jest to skuteczne narzędzie do dynamicznego tworzenia i zapisywania dokumentów PDF bezpośrednio z aplikacji Python.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta