
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-dotenv
Code-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=true
Code-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 sowieload_dotenv
ausdotenv
, 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)