Maison > développement back-end > Tutoriel Python > Comment puis-je répliquer la fonctionnalité \'mkdir -p\' en Python ?

Comment puis-je répliquer la fonctionnalité \'mkdir -p\' en Python ?

Barbara Streisand
Libérer: 2024-10-29 12:11:02
original
697 Les gens l'ont consulté

How can I replicate the

Réplication de la fonctionnalité mkdir -p dans Python

La commande mkdir -p sur les systèmes de type Unix crée de manière transparente un répertoire et ses chemins parents s'ils n'existent pas déjà. Existe-t-il une solution Python native offrant des fonctionnalités similaires ?

Solution :

Heureusement, différentes versions de Python proposent des solutions pour cette tâche :

Pour Python 3.5 et supérieur :

Python 3.5 a introduit pathlib.Path.mkdir avec les arguments parents=True et exist_ok=True :

<code class="python">import pathlib
pathlib.Path("/tmp/path/to/desired/directory").mkdir(parents=True, exist_ok=True)</code>
Copier après la connexion

Pour Python 3.2 et supérieur :

os.makedirs propose l'argument exist_ok, qui, lorsqu'il est défini sur True, active la fonctionnalité mkdir -p :

<code class="python">import os
os.makedirs("/tmp/path/to/desired/directory", exist_ok=True)</code>
Copier après la connexion

Pour les anciens Python Versions :

Pour les versions Python antérieures à 3.2, vous pouvez utiliser os.makedirs et ignorer les erreurs liées aux répertoires existants :

<code class="python">import errno
import os

def mkdir_p(path):
    try:
        os.makedirs(path)
    except OSError as exc:  # Python ≥ 2.5
        if exc.errno == errno.EEXIST and os.path.isdir(path):
            pass
        # Handle other errors here or raise a generic exception.</code>
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!

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