Maison > développement back-end > Tutoriel Python > Comment puis-je créer des répertoires et leurs répertoires parents en Python ?

Comment puis-je créer des répertoires et leurs répertoires parents en Python ?

Barbara Streisand
Libérer: 2024-12-15 12:29:19
original
456 Les gens l'ont consulté

How Can I Create Directories and Their Parent Directories in Python?

Création de répertoires et de leurs parents avec Python

Dans le domaine des systèmes de fichiers, il est souvent nécessaire de créer des répertoires, à la fois au chemin spécifié et tous les répertoires parents manquants en cours de route. Cela imite la fonctionnalité de la commande mkdir -p de Bash.

Python moderne (≥ 3.5) :

Le module pathlib de Python fournit un moyen pratique de gérer cela :

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

Python plus âgé Versions :

Utilisation du module os :

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

Cette approche présente une condition de concurrence potentielle, comme indiqué dans les commentaires. Pour résoudre ce problème, vous pouvez utiliser un deuxième appel os.path.exists ou intercepter l'OSError et examiner le code d'erreur intégré :

import os, errno

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

Cependant, cela introduit le risque de manquer d'autres erreurs.

Versions Python améliorées :

Python 3.3 introduit FileExistsError, qui simplifie la gestion des erreurs :

try:
    os.makedirs("path/to/directory")
except FileExistsError:
    # directory already exists
    pass
Copier après la connexion

Python 3.2 ajoute également l'argument exist_ok à os.makedirs :

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