あるディレクトリにあるファイルtest.py
がある場合、それがどのディレクトリにあるかをtest.py
からどのように見つけることができますか? os.path.curdir
は現在のディレクトリを提供しますが、ファイルが存在するディレクトリは提供しません。あるディレクトリfoo
からtest.py
を呼び出すと、os.curdir
はfoo
を返しますが、test.py
のパスは返しません。
ありがとう。
答えは使用することです:
__file__
これは相対パスを返します。
os.path.abspath(__file__)
フルパスを取得するために使用できます。
現在のファイルのディレクトリを取得する方法は次のとおりです。
import os
os.path.abspath(os.path.dirname(__file__))
これまでの回答は、あなたが要求した仕事を正確に実行するos.path.abspath
を正しく示しています。ただし、多くの場合、 os.path.normpath およびos.path.realpath
もこの種のタスク(表現を正規化し、シンボリックリンクを削除するため)で非常に役立つ可能性があることを忘れないでください(もちろん、特定のユースケースがこれらの「多く」に該当するかどうかは、私たちが持っているわずかな情報から判断することは不可能です;-)。
import os
dirname, filename = os.path.split(os.path.abspath(__file__))