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