So validieren Sie Daten in Python mit der Pydantic-Bibliothek

Natalia Kraszewska
Natalia Kraszewska
May 7, 2025
7 min read
Loading the Elevenlabs Text to Speech AudioNative Player...

Einführung

Die Datenvalidierung ist sehr wichtig, wenn Sie mit komplexen Datenstrukturen arbeiten. Stellen Sie sich vor, Sie möchten eine YAML-Datei lesen, die wichtige Daten enthält, die zur Konfiguration Ihrer Anwendung verwendet werden. Sie möchten sicherstellen, dass alle Felder den richtigen Typ und die richtigen Werte haben, die Sinn machen. Ich bin mir sicher, niemand möchte einen Datensatz haben, in dem der Benutzername 25 und das Alter Natalia ist:).

Pydantic ist eine Open-Source-Python-Bibliothek, mit der Entwickler Daten einfach und schnell validieren können. In diesem Artikel möchte ich mich darauf konzentrieren, das Potenzial von Pythantic aufzuzeigen. Sie erfahren, wie Sie Ihre Daten validieren, umgehend eine YAML-Datei laden, geheime Werte wie Passwörter weitergeben und vieles mehr. Viel Spaß!

Installation

Bevor wir beginnen, müssen wir Pydantic installieren. Benutze diesen Pip-Befehl in deiner Konsole:

Ein einfaches Beispiel für pydantischen Gebrauch

Lassen Sie uns zu Beginn einen einfachen Codeausschnitt schreiben, in dem die Pydantic-Bibliothek verwendet wird.

Um die pydantische Validierung zu verwenden, müssen Sie BaseModel importieren und eine neue Klasse erstellen, die davon erbt - wie in unserem Beispiel erbt die User-Klasse vom BaseModel. Ab jetzt werden wir sagen, dass die User-Klasse ein pydantisches Modell ist. In diesem Moment überprüft Pydantic jedes Mal, wenn Sie ein neues Objekt erstellen, ob die bereitgestellten Daten den richtigen Typ haben.

Beispiel für die Erstellung von Benutzerklassenobjekten, wenn die angegebenen Argumente den richtigen Typ haben:

Beispiel für die Erstellung von Benutzerklassenobjekten, wenn angegebene Argumente falsche Typen haben:

Pydantic hat erkannt, dass wir falsche Argumente verwenden wollen, und hat eine richtige Ausnahme ausgelöst, die uns darüber informiert, was falsch ist.

Pydantische Validierung

Pydantic wurde aufgrund seiner Fähigkeit, Daten einfach und robust zu validieren, immer beliebter. Lassen Sie uns in etwas Code eintauchen und ihn herausfinden!

In diesem Beispiel haben wir einen Validator hinzugefügt, der prüft, ob das angegebene Alter positiv ist. Wenn es negativ ist, wird die richtige Ausnahme ausgelöst.

Beispiel für das Laden einer YAML-Datei

Klassen, die von BaseModel erben, haben eine Reihe neuer Methoden. Sie sind in der offiziellen Pytest-Dokumentation beschrieben - https://docs.pydantic.dev/usage/models/. Eine davon ist die Methode parse_obj, mit der wir jedes Objekt in ein pydantisches Modell laden können. Es gibt viele Verwendungsmöglichkeiten für diese Funktion — zum Beispiel das Laden einer YAML-Datei in das Modell.

Lassen Sie uns einige Informationen über Benutzer in der Datei users.yaml sammeln.

Dann können wir die Datei lesen und die Methode parse_obj verwenden, um Daten in das Benutzermodell zu laden.

Geheime Zeichenfolge auf Pydantic

Einige der Variablen können sensibel sein und wir möchten nicht, dass jemand sie kennt. Es kann ein Passwort, ein Login, ein Token und viele andere sein. Zum Glück hat Pydantic dafür einen speziellen Typ — den SecretStr. Lass mich dir zeigen, wie es funktioniert.

Modellkonfiguration mit Config-Klasse

Um das pydantische Modell zu konfigurieren, können wir die Klasse Config innerhalb des Modells hinzufügen. Es ermöglicht uns, unser Modell so anzupassen, dass es unseren Bedürfnissen am besten entspricht. In diesem Artikel möchte ich einige der Funktionen der Config-Klasse zeigen, aber glauben Sie mir - es gibt noch viele, viele weitere (lesen Sie die offizielle Dokumentation hier) https://docs.pydantic.dev/usage/model_config/).

1. Stellen Sie die maximale Zeichenkettenlänge ein

2. Entfernen Sie Leerzeichen rund um eine Zeichenfolge

3. Zusätzliche Felder zulassen

Zusammenfassung

Vielen Dank, dass Sie diesen Artikel gelesen haben. Ich hoffe, es hat Ihnen gefallen und die hier vorgestellten Beispiele werden Ihnen helfen, die Pydantic-Bibliothek zu verstehen und neue Lösungen in Ihren Code zu implementieren.

Die Zukunft der Datentechnik — Trends, die es 2025 zu beobachten gilt

Data Warehouse vs. Data Lake vs. Lakehouse: Ein umfassender Vergleich von Datenmanagement-Ansätzen

10 Best Practices für Datentechnik, die Sie in Ihrem Unternehmen befolgen sollten

Share this post
DevOps
Natalia Kraszewska
MORE POSTS BY THIS AUTHOR
Natalia Kraszewska

Curious how we can support your business?

TALK TO US