logo

Python | os.makedirs()-Methode

Alle Funktionen im OS-Modul werden aktiviert OSError im Falle ungültiger oder unzugänglicher Dateinamen und Pfade oder anderer Argumente, die den richtigen Typ haben, aber vom Betriebssystem nicht akzeptiert werden. In diesem Artikel werden wir sehen, wie man Verzeichnisse rekursiv mit dem OS-Modul erstellt und auch über die Methode os.makedirs().

Python os.makedirs() Funktionssyntax

Syntax: os.makedirs(path, mode = 0o777, exist_ok = False)

Parameter:



  1. Weg : Ein pfadähnliches Objekt, das einen Dateisystempfad darstellt. Ein pfadähnliches Objekt ist entweder ein String- oder ein Byte-Objekt, das einen Pfad darstellt.
  2. Modus (optional): Ein ganzzahliger Wert, der den Modus des neu erstellten Verzeichnisses darstellt. Wenn dieser Parameter weggelassen wird, wird der Standardwert Oo777 verwendet.
  3. exist_ok (optional): Für diesen Parameter wird der Standardwert False verwendet. Wenn das Zielverzeichnis bereits existiert, wird ein OSError ausgelöst, wenn sein Wert False ist, andernfalls nicht. Für den Wert „True“ bleibt das Verzeichnis unverändert.

Rückgabetyp: Diese Methode gibt keinen Wert zurück.

os.makedirs() Methode in Python

os.makedirs() Methode in Python wird verwendet, um ein Verzeichnis rekursiv zu erstellen. Das heißt, wenn beim Erstellen des Blattverzeichnisses ein Verzeichnis auf mittlerer Ebene fehlt, os.makedirs() Methode wird sie alle erstellen.

Betrachten Sie beispielsweise den folgenden Pfad:

/home/User/Documents/GeeksForGeeks/Authors/ihritik>

Angenommen, wir möchten das Verzeichnis „ihritik“ erstellen, aber die Verzeichnisse „GeeksForGeeks“ und „Authors“ sind im Pfad nicht verfügbar. Dann os.makedirs() Die Methode erstellt alle nicht verfügbaren/fehlenden Verzeichnisse im angegebenen Pfad. Zuerst werden „GeeksForGeeks“ und „Authors“ erstellt, dann wird das Verzeichnis „ihritik“ erstellt.

Beispiele für die Python-Funktion os.makedirs()

Nachfolgend finden Sie einige Beispiele für die Funktion os.makedirs(), anhand derer wir sehen können, wie Verzeichnisse rekursiv mit erstellt werden OS-Modul :

Verzeichnis erstellen mitos.makedirs()>

In diesem Beispiel ist dieos.makedirs()>Die Methode wird zum Erstellen verschachtelter Verzeichnisse verwendet. Im ersten Abschnitt wird ein Verzeichnis mit dem Namen ihritik im Autorenverzeichnispfad erstellt. Der zweite Abschnitt erstellt mit angegebenen Berechtigungen ein Verzeichnis c, das in techcodeview.com/a/b verschachtelt ist.

Python3




import> os> # Leaf directory> directory>=> 'ihritik'> # Parent Directories> parent_dir>=> '/home/User/Documents/GeeksForGeeks/Authors'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> os.makedirs(path)> print>(>'Directory '%s' created'> %> directory)> # Leaf directory> directory>=> 'c'> # Parent Directories> parent_dir>=> '/home/User/Documents/techcodeview.com/a/b'> # mode> mode>=> 0o666> path>=> os.path.join(parent_dir, directory)> os.makedirs(path, mode)> print>(>'Directory '%s' created'> %> directory)>

>

>

Ausgabe:

Directory 'ihritik' created Directory 'c' created>

Fehler bei der Verwendung der Methode os.makedirs()

In diesem Beispiel ist dieos.makedirs()>Die Methode versucht, ein Verzeichnis mit dem Namen ihritik im GeeksForGeeks-Pfad zu erstellen. Wenn das Verzeichnis bereits vorhanden ist, löst die Methode eine ausOSError>. Nach erfolgreicher Erstellung wird eine Bestätigungsmeldung gedruckt.

Typoskript-Pfeilfunktion

Python3




import> os> # Directory> directory>=> 'ihritik'> # Parent Directory path> parent_dir>=> '/home/User/Documents/GeeksForGeeks'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> os.makedirs(path)> print>(>'Directory '%s' created'> %> directory)>

>

>

Ausgabe:

Traceback (most recent call last):  File 'makedirs.py', line 21, in   os.makedirs(path)  File '/usr/lib/python3.6/os.py', line 220, in makedirs  mkdir(name, mode) FileExistsError: [Errno 17] File exists: '/home/User/Documents/GeeksForGeeks/ihritik'>

Behandeln von Fehlern bei der Verwendung der Methode os.makedirs()

In diesem Beispiel ist dieos.makedirs()>Methode wird mit dem verwendetexist_ok>Parameter eingestellt aufTrue>unterdrückenOSError>wenn das Verzeichnis bereits existiert. Wenn das Verzeichnis nicht existiert, wird es erstellt. Allerdings andereOSError>Ausnahmen, wie etwa ein ungültiger Pfadname, können dennoch ausgelöst werden und müssen separat behandelt werden.

Python3




import> os> # Directory> directory>=> 'ihritik'> # Parent Directory path> parent_dir>=> '/home/ihritik/Desktop/GeeksForGeeks'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> try>:> >os.makedirs(path, exist_ok>=>True>)> >print>(>'Directory '%s' created successfully'> %> directory)> except> OSError as error:> >print>(>'Directory '%s' can not be created'>)>

>

>

Ausgabe:

Directory 'ihritik' created successfully>