IDLEで次のスクリプトを実行すると
import os
print(os.getcwd())
次のように出力されます
D:\testtool
しかし、cmdプロンプトから実行すると、
c:\Python33>python D:\testtool\current_dir.py
c:\Python33
IDLEを使用して取得した結果と同じ結果を取得するにはどうすればよいですか?
IDLEは現在の作業ディレクトリを実行されるスクリプトの場所に変更しますが、cmdを使用してスクリプトを実行すると、それは行われず、CWDはそのままになります。
現在の作業ディレクトリをスクリプトを含むディレクトリに変更するには、次を使用できます。
import os
os.chdir(os.path.dirname(__file__))
print(os.getcwd())
__file__
変数は、ファイルからスクリプトを実行する場合にのみ使用でき、ファイルへのパスが含まれています。詳細はこちら: Python __file__属性の絶対または相対?