目次
1. Einleitung
Python ermöglicht eine einfache Verwaltung von Dateien und Verzeichnissen. Insbesondere das Erstellen von Verzeichnissen ist eine der Operationen, die häufig für die Organisation von Dateien, Backups und automatische Generierungen durchgeführt werden. In dieser Anleitung erklären wir detailliert die Erstellung von Verzeichnissen mit demos
-Modul und dem pathlib
-Modul. Darüber hinaus behandeln wir rekursives Erstellen von Verzeichnissen und die Fehlerbehandlung, um einen Inhalt zu bieten, der auch für Python-Anfänger leicht verständlich ist.2. Erstellen von Verzeichnissen mit os.mkdir()
Grundlegende Verwendung
os.mkdir()
ist die grundlegende Methode, um ein Verzeichnis an einem angegebenen Pfad zu erstellen. Allerdings hat diese Funktion Einschränkungen: Wenn das übergeordnete Verzeichnis nicht existiert, wird ein Fehler ausgelöst. Zum Beispiel ist der folgende Code eine einfache Methode zum Erstellen eines Verzeichnisses.import os
# Pfad zum zu erstellenden Verzeichnis angeben
dir_path = './new_directory'
# Verzeichnis erstellen
os.mkdir(dir_path)
Mit diesem Code wird das Verzeichnis am angegebenen Pfad erstellt, aber wenn bereits ein Verzeichnis mit demselben Namen existiert, wird ein FileExistsError
ausgelöst. Dies ist ein wichtiger Hinweis für os.mkdir()
.Fehlerbehandlung
Indem man überprüft, ob das Verzeichnis bereits existiert, bevor man es erstellt, kann man Fehler vermeiden. Der folgende Code ist ein konkretes Beispiel dafür.import os
# Pfad zum zu erstellenden Verzeichnis angeben
dir_path = './new_directory'
# Überprüfen, ob das Verzeichnis existiert
if not os.path.exists(dir_path):
os.mkdir(dir_path)
else:
print(f"Das Verzeichnis '{dir_path}' existiert bereits.")
Mit dieser Methode kann man Fehler vermeiden, die auftreten würden, wenn man versucht, ein bereits existierendes Verzeichnis zu erstellen.
3. Rekursive Verzeichniserstellung mit os.makedirs()
Rekursive Verzeichniserstellung
os.makedirs()
kann als übergeordnete Alternative zu os.mkdir()
betrachtet werden. Da es mehrere Hierarchieebenen von Verzeichnissen auf einmal erstellen kann, ist es möglich, auch die Zwischenverzeichnisse zu erstellen, selbst wenn das übergeordnete Verzeichnis nicht existiert.import os
# Pfad, der Zwischenverzeichnisse enthält
dir_path = './parent_directory/sub_directory'
# Rekursiv Verzeichnis erstellen
os.makedirs(dir_path)
In diesem Beispiel werden parent_directory
und das darin enthaltene sub_directory
auf einmal erstellt. Der Punkt, dass alle Verzeichnisse ohne Fehler erstellt werden können, auch wenn Zwischenverzeichnisse nicht existieren, zeigt die hohe Bequemlichkeit.Fehlerbehandlung mit exist_ok=True
os.makedirs()
hat die exist_ok
-Option, mit der die Verarbeitung fortgesetzt werden kann, ohne einen Fehler auszugeben, auch wenn das Verzeichnis bereits existiert.import os
dir_path = './parent_directory/sub_directory'
# Keinen Fehler auslösen, auch wenn das Verzeichnis bereits existiert
os.makedirs(dir_path, exist_ok=True)
Durch die Verwendung dieser Methode kann der Aufwand vermieden werden, im Voraus zu überprüfen, ob das Verzeichnis existiert, wodurch die Fehlerbehandlung vereinfacht wird.4. Erstellen von Verzeichnissen mit dem pathlib-Modul
Erstellen von Verzeichnissen mit Path-Objekten
pathlib
-Modul ist ein praktisches Modul zur Durchführung von Dateisystem-Pfadoperationen, das ab Python 3.4 verfügbar ist.Path()
-Objekte zu verwenden, verbessert auch die Lesbarkeit des Codes.from pathlib import Path
# Pfad zum Verzeichnis angeben
dir_path = Path('./new_directory')
# Verzeichnis erstellen
dir_path.mkdir()
Der Vorteil von pathlib
liegt darin, dass objektorientierte Pfadoperationen möglich sind, was die Intuitivität des Codes erhöht.Rekursives Erstellen von Verzeichnissen und Fehlerbehandlung
Auch beim rekursiven Erstellen von Verzeichnissen mitpathlib
kann dies einfach durch Angabe von Optionen realisiert werden.from pathlib import Path
# Pfad inklusive Zwischenverzeichnissen
dir_path = Path('./parent_directory/sub_directory')
# Erstellen inklusive Zwischenverzeichnissen
dir_path.mkdir(parents=True, exist_ok=True)
In diesem Code werden mehrere Hierarchien von Verzeichnissen, einschließlich Zwischenverzeichnissen, auf einmal erstellt, und es tritt kein Fehler auf, auch wenn das Verzeichnis bereits existiert.
5. Überprüfung der Existenz eines Verzeichnisses und Fehlerbehandlung
Die Überprüfung, ob ein Verzeichnis bereits existiert, ist die Grundlage der Fehlerbehandlung.os
-Modul oder pathlib
verwenden, um die Existenz von Verzeichnissen zu überprüfen und Verzeichnisoperationen sicher durchzuführen.Überprüfungsmethode mit dem os-Modul
import os
dir_path = './new_directory'
if os.path.exists(dir_path):
print(f"Das Verzeichnis '{dir_path}' existiert bereits.")
else:
print(f"Das Verzeichnis '{dir_path}' existiert nicht.")
Überprüfungsmethode mit pathlib
from pathlib import Path
dir_path = Path('./new_directory')
if dir_path.exists():
print(f"Das Verzeichnis '{dir_path}' existiert bereits.")
else:
print(f"Das Verzeichnis '{dir_path}' existiert nicht.")
6. Zusammenfassung
In diesem Artikel haben wir verschiedene Methoden zur Erstellung von Verzeichnissen mit Python detailliert erläutert.os.mkdir()
und os.makedirs()
Unterschiede verstehen, sowie rekursive Verzeichniserstellung und Fehlerbehandlung gelernt. Darüber hinaus haben wir erkannt, dass durch die Nutzung des neuen Standardmoduls pathlib
von Python einfacheren und lesbareren Code geschrieben werden kann. Wählen Sie je nach Verwendungszweck die optimale Methode aus und führen Sie effiziente Verzeichnisoperationen durch.