Je suis confus d’utiliser à propos de ces deux méthodes os
pour créer le nouveau répertoire.
S’il vous plaît donnez-moi un exemple en Python.
makedirs()
crée tous les répertoires intermédiaires s’ils n’existent pas (comme mkdir -p
dans bash).
mkdir()
peut créer un seul sous-répertoire et déclenche une exception si des répertoires intermédiaires inexistants sont spécifiés.
Chacun peut être utilisé pour créer un seul répertoire ‘feuille’ (dirA):
os.mkdir('dirA')
os.makedirs('dirA')
Mais les makedirs doivent être utilisés pour créer des «twigs»:
os.makedirs('dirA/dirB')
fonctionnera [la structure entière est créée] mkdir
peut fonctionner ici si dirA
existe déjà, mais si ce n’est pas le cas, une erreur est générée.
Notez que contrairement à mkdir -p
en bash, l’un ou l’autre échouera si la feuille existe déjà.
(Impossible de commenter, ajoutez simplement à la réponse de NPE.)
Dans Python3, os.makedirs
possède un paramètre par défaut exist_ok=False
.
Si vous le définissez sur True
, os.makedirs
ne os.makedirs
aucune exception si la feuille existe.
(Bien que os.mkdir
n’ait pas ce paramètre.)
Juste comme ça:
os.makedirs('dirA', exist_ok=True)
PS
Vous pouvez taper avant le nom d’une méthode dans le shell IPython pour examiner rapidement la documentation.
par exemple:
>>> import os >>> ? os.makedirs
Le os.makedirs est la fonction de Python, le mkdir est la fonction bash unix.