Maison > développement back-end > Tutoriel Python > Comment créer un répertoire avec des répertoires intermédiaires en Python ?

Comment créer un répertoire avec des répertoires intermédiaires en Python ?

DDD
Libérer: 2024-10-29 13:49:29
original
558 Les gens l'ont consulté

How to create a directory with intermediate directories in Python?

La fonction "mkdir -p" en Python [dupliquer]

En Python, comment implémenter quelque chose de similaire à la commande shell "mkdir -p" "Fonction ? En espérant une solution qui ne repose pas sur des appels système et dont la longueur de code est inférieure à 20 lignes.

Solution

Pour Python ≥ 3.5, utilisez pathlib.Path.mkdir :

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

Le paramètre exist_ok était nouveau dans Python 3.5.

Pour Python ≥ 3.2, os.makedirs a un troisième argument facultatif exist_ok qui, lorsqu'il est vrai, active la fonctionnalité mkdir -p sauf lorsque mode est fourni et que les autorisations du répertoire diffèrent des autorisations attendues dans ce cas ; , une OSError est levée comme avant :

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

Pour les versions antérieures de Python, vous pouvez utiliser os.makedirs et ignorer l'erreur :

<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
        # 还可以在此处理其他errno情况,否则:
        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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal