Quelle est la différence entre les makedirs et les mkdir of os?

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.