Erstellen Sie ein Verzeichnis in Python
Das OS-Modul in Python stellt Funktionen zur Interaktion mit dem Betriebssystem bereit. Das Betriebssystem gehört zu den Standard-Dienstprogrammmodulen von Python. Dieses Modul bietet eine portable Möglichkeit zur Nutzung betriebssystemabhängiger Funktionen. Der os> Und os.path> Module enthalten viele Funktionen zur Interaktion mit dem Dateisystem. Alle Funktionen im Betriebssystemmodul werden erhöht 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.
Im OS-Modul stehen verschiedene Methoden zum Erstellen eines Directors zur Verfügung. Diese sind -
Verwendung von os.mkdir()
os.mkdir()> Die Methode in Python wird verwendet, um ein Verzeichnis mit dem Namen path mit dem angegebenen numerischen Modus zu erstellen. Diese Methode erhöht FileExistsError> wenn das zu erstellende Verzeichnis bereits existiert.
Syntax: os.mkdir(path, mode = 0o777, *, dir_fd = None)
Parameter:
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.
Modus (optional): Ein ganzzahliger Wert, der den Modus des zu erstellenden Verzeichnisses darstellt. Wenn dieser Parameter weggelassen wird, wird der Standardwert Oo777 verwendet.
dir_fd (optional): Ein Dateideskriptor, der auf ein Verzeichnis verweist. Der Standardwert dieses Parameters ist None.
Wenn der angegebene Pfad absolut ist, wird dir_fd ignoriert.Notiz: Das „*“ in der Parameterliste gibt an, dass alle folgenden Parameter (hier in unserem Fall „dir_fd“) reine Schlüsselwortparameter sind und unter Verwendung ihres Namens und nicht als Positionsparameter bereitgestellt werden können.
Rückgabetyp: Diese Methode gibt keinen Wert zurück.
Beispiel 1: Gebrauch von os.mkdir()> Methode zum Erstellen eines Verzeichnisses/einer Datei
# Python program to explain os.mkdir() method> > # importing os module> import> os> > # Directory> directory> => 'techcodeview.com'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects/'> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'GeeksForGeeks' in> # '/home / User / Documents'> os.mkdir(path)> print> (> 'Directory '% s' created'> %> directory)> > # Directory> directory> => 'Geeks'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects'> > # mode> mode> => 0o666> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'GeeksForGeeks' in> # '/home / User / Documents'> # with mode 0o666> os.mkdir(path, mode)> print> (> 'Directory '% s' created'> %> directory)> |
Ausgabe:
Directory 'techcodeview.com' created Directory 'Geeks' created
Beispiel #2: Fehler bei der Verwendung os.mkdir()> Methode.
# Python program to explain os.mkdir() method> > # importing os module> import> os> > # Directory> directory> => 'GeeksForGeeks'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects/'> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'GeeksForGeeks' in> # '/home / User / Documents'> os.mkdir(path)> print> (> 'Directory '% s' created'> %> directory)> > # if directory / file that> # is to be created already> # exists then 'FileExistsError'> # will be raised by os.mkdir() method> > # Similarly, if the specified path> # is invalid 'FileNotFoundError' Error> # will be raised> |
Ausgabe:
Traceback (most recent call last): File 'gfg.py', line 18, in os.mkdir(path) FileExistsError: [WinError 183] Cannot create a file when that file / /already exists: 'D:/Pycharm projects/GeeksForGeeks'
Beispiel #3: Handhabungsfehler bei der Verwendung os.mkdir()> Methode.
# Python program to explain os.mkdir() method> > # importing os module> import> os> > # path> path> => 'D:/Pycharm projects / GeeksForGeeks'> > # Create the directory> # 'GeeksForGeeks' in> # '/home / User / Documents'> try> :> > os.mkdir(path)> except> OSError as error:> > print> (error)> |
Ausgabe:
[WinError 183] Cannot create a file when that file/ /already exists: 'D:/Pycharm projects/GeeksForGeeks'
Verwendung von os.makedirs()
os.makedirs()> Die 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:
D:/Pycharm projects/GeeksForGeeks/Authors/Nikhil
Angenommen, wir möchten das Verzeichnis „Nikhil“ 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 „Nikhil“ erstellt.
Syntax: os.makedirs(path, mode = 0o777, exist_ok = False)
Parameter:
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.
Modus (optional): Ein ganzzahliger Wert, der den Modus des neu erstellten Verzeichnisses darstellt. Wenn dieser Parameter weggelassen wird, wird der Standardwert Oo777 verwendet.
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.Rückgabetyp: Diese Methode gibt keinen Wert zurück.
Beispiel 1: Gebrauch von os.makedirs()> Methode zum Erstellen eines Verzeichnisses.
# Python program to explain os.makedirs() method> > # importing os module> import> os> > # Leaf directory> directory> => 'Nikhil'> > # Parent Directories> parent_dir> => 'D:/Pycharm projects/GeeksForGeeks/Authors'> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'Nikhil'> os.makedirs(path)> print> (> 'Directory '% s' created'> %> directory)> > # Directory 'GeeksForGeeks' and 'Authors' will> # be created too> # if it does not exists> > > > # Leaf directory> directory> => 'c'> > # Parent Directories> parent_dir> => 'D:/Pycharm projects/techcodeview.com/a/b'> > # mode> mode> => 0o666> > path> => os.path.join(parent_dir, directory)> > # Create the directory 'c'> > os.makedirs(path, mode)> print> (> 'Directory '% s' created'> %> directory)> > > # 'GeeksForGeeks', 'a', and 'b'> # will also be created if> # it does not exists> > # If any of the intermediate level> # directory is missing> # os.makedirs() method will> # create them> > # os.makedirs() method can be> # used to create a directory tree> |
Ausgabe:
Directory 'Nikhil' created Directory 'c' created
Beispiel #2:
# Python program to explain os.makedirs() method> > # importing os module> import> os> > # os.makedirs() method will raise> # an OSError if the directory> # to be created already exists> > > # Directory> directory> => 'Nikhil'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects/GeeksForGeeks/Authors'> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'Nikhil'> os.makedirs(path)> print> (> 'Directory '% s' created'> %> directory)> |
Ausgabe:
Traceback (most recent call last): File 'gfg.py', line 22, in os.makedirs(path) File 'C:UsersNikhil AggarwalAppDataLocalProgramsPython/ / Python38-32libos.py', line 221, in makedirs mkdir(name, mode) FileExistsError: [WinError 183] Cannot create a file when that/ / file already exists: 'D:/Pycharm projects/GeeksForGeeks/AuthorsNikhil'
Beispiel #3: Behandeln von Fehlern bei der Verwendung der Methode os.makedirs().
# Python program to explain os.makedirs() method> > # importing os module> import> os> > # os.makedirs() method will raise> # an OSError if the directory> # to be created already exists> # But It can be suppressed by> # setting the value of a parameter> # exist_ok as True> > # Directory> directory> => 'Nikhil'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects/GeeksForGeeks/Authors'> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'Nikhil'> try> :> > os.makedirs(path, exist_ok> => True> )> > print> (> 'Directory '%s' created successfully'> %> directory)> except> OSError as error:> > print> (> 'Directory '%s' can not be created'> %> directory)> > # By setting exist_ok as True> # error caused due already> # existing directory can be suppressed> # but other OSError may be raised> # due to other error like> # invalid path name> |
Ausgabe:
Directory 'Nikhil' created successfully