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