语言: Python2.7
IDE: Pycharm
os: Linux
用Python做的 爬虫:
第一个建立在 project
folder 下用 os.mkdir('home/img/')
创建文件夹存储数据,文件夹正常建立
第二个加入RedisQueue
,爬虫程序放在 /usr/lib/python2.7
, rq 主体放在 project
folder下面, 在爬虫程序里面用 os.mkdir('home/img/')
报错,用 os.makedirs('home/img/')
正常建立。
为什么第一个没有报错?
thx in advance
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, commemkdir -p
sous Linux.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 (commefoo
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écutezhome
pour éviter erreurs.os.mkdir