2016-06-21 19 views
4

私はpython 2.7を使ってPycharmにスパイダーを作成し、ウェブサイトからデータを取得します。 最初のスパイダーでは、プロジェクトフォルダにスパイダーを作成し、os.mkdir( 'home/img /')を使用してデータを保存するフォルダを作成します。エラーはありません。 2番目のスパイダーでは、プロジェクトフォルダにあるRedisQueueでスパイダーを作成し、Spider.pyを/usr/lib/python2.7に入れます。 os.mkdir( 'home/img /')を使用すると 'no such file or dir'というエラーが表示され、os.makedirs()に変更されます。 最初のエラーに間違いがないのはなぜ分かりますか?事前に感謝os.mkdir()とos.makedirs()の違い

+0

mkdirs()は、指定されたパスに必要な "ミドル"ディレクトリを作成します。あなたのコードは適切な "現在の"ディレクトリで実行されていますか? –

答えて

6

os.makedirs():再帰的ディレクトリ作成機能。 os.mkdir()と同様ですが、リーフディレクトリを格納するために必要なすべての中間レベルのディレクトリを作成します。

これは、os.mkdir()でネストされたディレクトリを作成するのではなく、代わりにos.makedirs()を使用してください。

あなたの場合、ホームディレクトリの下にディレクトリを作成したいと思っています。この場合、os.mkdir( "/ home/img")のようなものが必要になります。十分な権限があります。

os.chdir( '/ home')とそれ以降はos.mkdir( 'img')のように試してみると、ホーム/ imgをステップで作成できます!がんばろう!

+1

** os.makedirs()**のドキュメント(Python 2)へのリンク:[https://docs.python.org/2/library/os.html#os.makedirs](https://docs.python .org/2/library/os.html#os.makedirs) – Qululu

関連する問題