2012-04-25 8 views
0

では動作しません私はpython test.pyPythonの:wgetのは、Eclipse

def get_pdb(self,pdb): 

     import os 
     from subprocess import call 

     os.chdir('./mobcal_data/PDBs/') 
     call(["wget", "http://www.pdb.org/pdb/files/2kqx.pdb"]) 

でコマンドラインから実行します。しかし、私は試してみて、日食とそれを実行したとき、私は、次のOSError

OSError: [Errno 2] No such file or directory 
を取得するときに、以下の機能が動作します

私はコマンドラインからeclipse内ではなくスクリプトを実行すると、なぜ動作するのかわかりません。

+0

'PATH'はeclipseで何に設定されていますか? – Daenyth

答えて

0

私は間違っているかもしれませんが、実際にはエラーがos.chdir()コールから来ている可能性があります。

スクリプトを手動で実行するかEclipseで実行するかによって、作業ディレクトリが異なる可能性があります。これを確認するためにどこかに、スクリプトに次の行を追加してみてください:

print os.getcwd() 

これが問題であるならば、あなたはos.chdir()呼び出しで相対パスの代わりに絶対パスを使用する必要がある、またはEclipseで設定を変更することがあり予想される場所でスクリプトを開始します。 This answerには、その操作方法に関する説明がいくつかあります。

+0

あなたが提案したコードを使用しました。現在の作業ディレクトリは意図したとおりに変更されました。 – Harpal

+0

@Harpal - 'os.environ ['PATH']'を印刷して、Eclipseでそれが異なっているかどうか確認してください。 –