logo

Python | Méthode os.makedirs()

Toutes les fonctions du module os augmentent OSErreur dans le cas de noms et chemins de fichiers invalides ou inaccessibles, ou d'autres arguments qui ont le type correct mais ne sont pas acceptés par le système d'exploitation. Dans cet article, nous verrons comment créer des répertoires de manière récursive à l'aide du module os ainsi que la méthode os.makedirs().

Python os.makedirs() Syntaxe de la fonction

Syntaxe: os.makedirs (chemin, mode = 0o777, exist_ok = False)



Paramètre:

  1. chemin : Un objet de type chemin représentant un chemin de système de fichiers. Un objet de type chemin est soit un objet chaîne, soit un objet octets représentant un chemin.
  2. mode (facultatif) : Une valeur entière représentant le mode du répertoire nouvellement créé. Si ce paramètre est omis alors la valeur par défaut Oo777 est utilisée.
  3. existe_ok (facultatif) : Une valeur par défaut False est utilisée pour ce paramètre. Si le répertoire cible existe déjà, une OSError est levée si sa valeur est False, sinon non. Pour la valeur True, le répertoire reste inchangé.

Type de retour : Cette méthode ne renvoie aucune valeur.

Méthode os.makedirs() en Python

os.makedirs() méthode dans Python est utilisé pour créer un répertoire de manière récursive. Cela signifie que lors de la création d'un répertoire feuille, si un répertoire de niveau intermédiaire est manquant, os.makedirs() la méthode les créera tous.



Par exemple, considérons le chemin suivant :

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

Supposons que nous voulions créer le répertoire « ihritik » mais que les répertoires « GeeksForGeeks » et « Auteurs » ne soient pas disponibles dans le chemin. Alors os.makedirs() La méthode créera tous les répertoires indisponibles/manquants dans le chemin spécifié. « GeeksForGeeks » et « Authors » seront créés en premier, puis le répertoire « ihritik » sera créé.

Exemples de fonctions Python os.makedirs()

Vous trouverez ci-dessous quelques exemples de la fonction os.makedirs() grâce à laquelle nous pouvons voir comment créer des répertoires de manière récursive en utilisant le module du système d'exploitation :



Création d'un répertoire à l'aide deos.makedirs()>

Dans cet exemple, leos.makedirs()>La méthode est utilisée pour créer des répertoires imbriqués. La première section crée un répertoire nommé ihritik dans le chemin du répertoire Auteurs. La deuxième section, avec les autorisations spécifiées, crée un répertoire c imbriqué dans techcodeview.com/a/b.

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)>

>

>

Sortir:

Directory 'ihritik' created Directory 'c' created>

Erreurs lors de l'utilisation de la méthode os.makedirs()

Dans cet exemple, leos.makedirs()>La méthode tente de créer un répertoire nommé ihritik dans le chemin GeeksForGeeks. Si le répertoire existe déjà, la méthode génère unOSError>. Une fois la création réussie, un message de confirmation est imprimé.

type de en java

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)>

>

>

Sortir:

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'>

Gestion des erreurs lors de l'utilisation de la méthode os.makedirs()

Dans cet exemple, leos.makedirs()>la méthode est utilisée avec leexist_ok>paramètre réglé surTrue>supprimerOSError>si le répertoire existe déjà. Si le répertoire n'existe pas, il sera créé. Cependant, d'autresOSError>des exceptions, telles qu'un nom de chemin non valide, peuvent toujours être générées et doivent être traitées séparément.

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'>)>

>

>

Sortir:

Directory 'ihritik' created successfully>