Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Verzeichnisse und deren übergeordnete Verzeichnisse in Python erstellen?

Wie kann ich Verzeichnisse und deren übergeordnete Verzeichnisse in Python erstellen?

Barbara Streisand
Freigeben: 2024-12-15 12:29:19
Original
456 Leute haben es durchsucht

How Can I Create Directories and Their Parent Directories in Python?

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)
Nach dem Login kopieren

Älteres Python Versionen:

Verwendung des Betriebssystemmoduls:

import os
if not os.path.exists(directory):
    os.makedirs(directory)
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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.
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage