Maison > développement back-end > Tutoriel Python > Comment créer un répertoire et ses répertoires parents manquants en Python ?

Comment créer un répertoire et ses répertoires parents manquants en Python ?

Linda Hamilton
Libérer: 2024-12-21 10:17:09
original
963 Les gens l'ont consulté

How to Create a Directory and its Missing Parent Directories in Python?

Création d'un répertoire et de répertoires parents manquants à l'aide de Python

Q : Comment puis-je créer un répertoire à un chemin spécifié tout en créer des répertoires parents manquants le long de ce chemin ?

Pour obtenir cette fonctionnalité dans Python ≥ 3.5, utilisez pathlib.Path.mkdir :

from pathlib import Path
Path("/my/directory").mkdir(parents=True, exist_ok=True)
Copier après la connexion

Pour les versions antérieures de Python, envisagez les approches suivantes :

Approche 1 : Utiliser os.path.exists et os.makedirs

import os
if not os.path.exists(directory):
    os.makedirs(directory)
Copier après la connexion

Bien que cette approche soit simple, elle pose un risque potentiel condition.

Approche 2 : Gérer les conditions de concurrence potentielles

import os, errno

try:
    os.makedirs(directory)
except OSError as e:
    if e.errno != errno.EEXIST:
        raise
Copier après la connexion

Cette option répond à la condition de concurrence en détectant et en examinant le code d'erreur.

Améliorations modernes de Python :

Les versions 3.3 et 3.2 de Python introduisent améliorations :

  • FileExistsError est exposé, permettant une gestion plus propre des erreurs.
  • os.makedirs comporte l'argument de mot-clé exist_ok, permettant la création de répertoire même s'il existe déjà.
try:
    os.makedirs("path/to/directory")
except FileExistsError:
    # directory already exists
    pass
Copier après la connexion
os.makedirs("path/to/directory", exist_ok=True)  # succeeds even if directory exists.
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal