👉 Jetzt bei Amazon nach deinem nächsten Gaming PCs stöbern (Affiliate-Link – ich erhalte eine kleine Provision, für dich bleibt der Preis gleich)

 

Stell dir vor, du arbeitest an einem Python-Projekt, das verschiedene Konfigurationsdaten benötigt, wie API-Schlüssel, Datenbank-Verbindungsinformationen, oder andere sensible Daten. Diese Daten hartkodiert in deinem Python-Skript zu speichern, ist keine gute Idee, besonders wenn du dein Projekt auf eine Plattform wie GitHub hochladen möchtest. Hier kommt die .env-Datei ins Spiel. In diesem Blogpost werde ich dir zeigen, wie du mithilfe des Python-Moduls python-dotenv eine .env-Datei verwenden kannst, um Konfigurationsdaten in deinem Python-Skript sicher und einfach zu verwalten.

Vorbereitung

Bevor wir beginnen, müssen wir sicherstellen, dass python-dotenv in deiner Entwicklungsumgebung installiert ist. Du kannst es über pip installieren:

pip install python-dotenvCode-Sprache: Bash (bash)

Erstellung der .env-Datei

Zuerst erstellen wir eine .env-Datei, die wir im Hauptverzeichnis unseres Projekts speichern. Diese Datei enthält mehrere Schlüssel-Wert-Paare, etwa so:

API_KEY=dein_api_schlüssel
DATABASE_URL=mysql://user:pass@localhost:3306/dbname
DEBUG_MODE=trueCode-Sprache: JavaScript (javascript)

Einlesen der .env-Datei in Python

Im nächsten Schritt erstellen wir ein Python-Skript, das die Daten aus der .env-Datei lädt und verwendet. Hierbei bietet sich python-dotenv an:

import os
from dotenv import load_dotenv

# Lade die Umgebungsvariablen aus der .env-Datei
load_dotenv()

# Zugriff auf die Konfigurationsdaten
api_key = os.getenv('API_KEY')
database_url = os.getenv('DATABASE_URL')
debug_mode = os.getenv('DEBUG_MODE')

# Ausgabe zur Überprüfung
print(f"API Key: {api_key}")
print(f"Database URL: {database_url}")
print(f"Debug Mode: {debug_mode}")
Code-Sprache: Python (python)

Erklärung des Codes

  • Importieren von Modulen: Wir importieren os für den Zugriff auf Umgebungsvariablen sowie load_dotenv aus dotenv, um die .env-Datei zu laden.
  • Laden der Datei: Mit load_dotenv() werden alle Schlüssel-Wert-Paare der .env-Datei in die Umgebungsvariablen des Betriebssystems geladen.
  • Zugriff auf die Daten: os.getenv('SCHLÜSSEL_NAME') gibt den Wert des betreffenden Schlüssels zurück.
  • Ausgabe zur Überprüfung: Wir drucken die Werte aus, um sicherzustellen, dass die Daten korrekt geladen wurden.

Überschreiben von Umgebungsvariablen

Manchmal möchtest du bestehende Umgebungsvariablen überschreiben. Dies kannst du mit einem optionalen Argument bei load_dotenv() erreichen:

# Vorher gesetzte Umgebungsvariablen überschreiben
load_dotenv(override=True)
Code-Sprache: Python (python)

Weiterführende Links