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

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

Barbara Streisand
Freigeben: 2024-10-28 19:40:29
Original
449 Leute haben es durchsucht

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

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

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

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!

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