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
526 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!

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