Heim  >  Artikel  >  Backend-Entwicklung  >  Wie simuliere ich die Funktionalität „mkdir -p“ in Python?

Wie simuliere ich die Funktionalität „mkdir -p“ in Python?

Barbara Streisand
Barbara StreisandOriginal
2024-10-28 19:40:29362Durchsuche

How to Simulate the `mkdir -p` Functionality in Python?

Python mkdir -p-Äquivalent

Für die Simulation der mkdir -p-Funktionalität der Shell aus Python heraus stehen mehrere Ansätze zur Verfügung.

Python 3.5 und höher

Python 3.5 führt die Funktion pathlib.Path.mkdir ein, die die Parameter parent und exist_ok enthält. Indem Sie parent auf True und exist_ok auf True setzen, werden das Verzeichnis und alle nicht vorhandenen übergeordneten Verzeichnisse erstellt, ohne dass ein Fehler auftritt:

<code class="python">import pathlib
pathlib.Path("/tmp/path/to/desired/directory").mkdir(parents=True, exist_ok=True)</code>

Python 3.2 und höher

Für Python 3.2 und höher verfügt die Funktion os.makedirs über ein optionales drittes Argument, exist_ok, das auf True gesetzt werden kann, um dasselbe Verhalten zu erreichen:

<code class="python">import os
os.makedirs("/tmp/path/to/desired/directory", exist_ok=True)</code>

Frühere Python-Versionen

Für ältere Versionen von Python können Sie die Funktion os.makedirs verwenden und die OSError-Ausnahme abfangen, wenn das Verzeichnis bereits vorhanden ist, indem Sie den folgenden Code verwenden:

<code class="python">import errno    
import os

def mkdir_p(path):
    try:
        os.makedirs(path)
    except OSError as exc:  # Python ≥ 2.5
        if exc.errno == errno.EEXIST and os.path.isdir(path):
            pass
        # possibly handle other errno cases here, otherwise finally:
        else:
            raise</code>

Das obige ist der detaillierte Inhalt vonWie simuliere ich die Funktionalität „mkdir -p“ in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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