recherche

Maison  >  Questions et réponses  >  le corps du texte

python - os.mkdir() 和 os.makedirs() 的区别

用Python做的 爬虫:

为什么第一个没有报错?

thx in advance

PHPzPHPz2890 Il y a quelques jours613

répondre à tous(1)je répondrai

  • PHPz

    PHPz2017-04-17 17:57:52

    La différence entre

    os.mkdir et os.makedirs est que os.makedirs créera le répertoire de manière récursive, ce qui signifie que le répertoire relayé sera également créé ensemble, comme mkdir -p sous Linux.

    >>> import os
    >>> os.mkdir('foo/bar')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    OSError: [Errno 2] No such file or directory: 'foo/bar'
    >>> os.makedirs('foo/bar')

    Lors de l'utilisation de os.mkdir, si le paramètre path que vous donnez est un chemin multicouche, et si un répertoire relais n'existe pas (comme foo dans l'exemple ci-dessus), Python signalera une erreur.

    Mais si vous utilisez os.makedirs, Python sera créé avec les répertoires intermédiaires. Mais une chose à noter est que si le répertoire à la fin du chemin existe déjà, os.makedirs provoquera également une exception.


    Je pense que votre problème est là, vous pouvez vérifier si le répertoire home existe au début.

    Il convient de noter que l'identification du chemin dépend ici de l'endroit où vous démarrez l'interpréteur Python, c'est-à-dire que vous devez vous assurer qu'il doit y avoir python sous le répertoire où vous exécutez home pour éviter <🎜. > erreurs. os.mkdir

    répondre
    0
  • Annulerrépondre