Verzeichnisse und deren übergeordnete Verzeichnisse mit Python erstellen
Im Bereich der Dateisysteme ist es oft notwendig, Verzeichnisse zu erstellen, und zwar beide im angegebenen Pfad und alle fehlenden übergeordneten Verzeichnisse auf dem Weg. Dies ahmt die Funktionalität des Befehls mkdir -p von Bash nach.
Modernes Python (≥ 3.5):
Pythons Pathlib-Modul bietet eine praktische Möglichkeit, dies zu handhaben:
from pathlib import Path Path("/my/directory").mkdir(parents=True, exist_ok=True)
Älteres Python Versionen:
Verwendung des Betriebssystemmoduls:
import os if not os.path.exists(directory): os.makedirs(directory)
Dieser Ansatz weist eine potenzielle Race-Bedingung auf, wie in den Kommentaren erwähnt. Um dieses Problem zu beheben, können Sie einen zweiten os.path.exists-Aufruf verwenden oder den OSError abfangen und den eingebetteten Fehlercode untersuchen:
import os, errno try: os.makedirs(directory) except OSError as e: if e.errno != errno.EEXIST: raise
Dies birgt jedoch das Risiko, dass andere Fehler übersehen werden.
Verbesserte Python-Versionen:
Python 3.3 führt FileExistsError ein, das vereinfacht die Fehlerbehandlung:
try: os.makedirs("path/to/directory") except FileExistsError: # directory already exists pass
Python 3.2 fügt außerdem das Argument exist_ok zu os.makedirs hinzu:
os.makedirs("path/to/directory", exist_ok=True) # succeeds even if directory exists.
Das obige ist der detaillierte Inhalt vonWie kann ich Verzeichnisse und deren übergeordnete Verzeichnisse in Python erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!