语言: 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
os.mkdir と os.makedirs の違いは、
リーリーos.makedirs
がディレクトリを再帰的に作成することです。つまり、Linux のmkdir -p
と同様に、中継されたディレクトリも一緒に作成されます。os.mkdir
を使用する場合、指定したパス パラメーターがマルチレイヤー パスであり、リレー ディレクトリが存在しない場合 (上記の例のfoo
など)、Python はエラーを報告します。しかし、
os.makedirs
を使用すると、Python は中間ディレクトリとともに作成されます。ただし、注意すべき点が 1 つあります。パスの末尾のディレクトリがすでに存在する場合、os.makedirs
によっても例外が発生するということです。問題はここにあると思います。最初に
home
ディレクトリが存在するかどうかを確認できます。ここでのパスの識別は、Python インタプリタを開始する場所によって異なることに注意してください。つまり、
python
を回避するには、home
を実行するディレクトリの下にos.mkdir
が存在する必要があります。 > エラーです。