次の Python コードを検討してください。
import os
print os.getcwd()
私os.getcwd()
はスクリプトファイルのディレクトリの場所を取得するコマンドラインからスクリプトを実行すると正しいパスが提供されますが、Django ビューのコードで実行されるスクリプトから実行すると、 が出力されます/
。
Django ビューによって実行されるスクリプト内からスクリプトへのパスを取得するにはどうすればよいですか?
更新:
これまでの回答をまとめるos.getcwd()
と、os.path.abspath()
どちらも現在の作業ディレクトリを示しますが、これはスクリプトが存在するディレクトリである場合もそうでない場合もあります。私の Web ホスト設定では、
パスなしのファイル名のみが示されます。__file__
Python で、スクリプトが存在するパスを (常に) 受け取ることができる方法はないのでしょうか?
ベストアンサー1
os.path.realpath
を呼び出す必要があります__file__
。そうすれば、__file__
がパスのないファイル名の場合でも dir パスを取得できます。
import os
print(os.path.dirname(os.path.realpath(__file__)))