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

Barbara Streisand
Libérer: 2024-10-29 12:11:02
original
570 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!

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!