Maison > développement back-end > Tutoriel Python > Comment simuler la fonctionnalité « mkdir -p » en Python ?

Comment simuler la fonctionnalité « mkdir -p » en Python ?

Barbara Streisand
Libérer: 2024-10-28 19:40:29
original
451 Les gens l'ont consulté

How to Simulate the `mkdir -p` Functionality in Python?

Python mkdir -p Equivalent

Pour simuler la fonctionnalité mkdir -p du shell à partir de Python, plusieurs approches sont disponibles.

Python 3.5 et versions ultérieures

Python 3.5 introduit la fonction pathlib.Path.mkdir, qui inclut les paramètres parents et exist_ok. En définissant parents sur True et exist_ok sur True, il crée le répertoire et tous les répertoires parents inexistants sans générer d'erreur :

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

Python 3.2 et versions ultérieures

Pour Python 3.2 et supérieur, la fonction os.makedirs a un troisième argument facultatif, exist_ok, qui peut être défini sur True pour obtenir le même comportement :

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

Versions Python antérieures

Pour les anciennes versions de Python, vous pouvez utiliser la fonction os.makedirs et intercepter l'exception OSError lorsque le répertoire existe déjà en utilisant le code suivant :

<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
        # possibly handle other errno cases here, otherwise finally:
        else:
            raise</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