C:test [dir] getpath [file] path.py [dir] sub [file] sub_path.py
例:
C: テスト ディレクトリには sub という名前のディレクトリもあります。
C: テスト ディレクトリには getpath.py、サブ ディレクトリには sub_path.py があり、getpath.py は sub_path.py を呼び出します。 ;
C:test で getpath.py を実行します。もし私達だったら
sub_path.py で sys.path[0] が使用されている場合、実際に取得されるのは、Python の仮想パスであるため、getpath.py が配置されているディレクトリ パス "C:test" になります。
マシンは getpath.py から実行を開始します。 sub_path.py のパスを取得したい場合は、これを行う必要があります:
os.path.split(os.path.realpath(__file__))[0]
検証:
次に、 python getpath/ を実行します。 C:test.py の下のパス、この時点で、sub_path.py 内のさまざまな使用法に対応する値は実際には次のとおりです:
os.getcwd() "C:test"、これは開始実行ディレクトリ
sys.path[ 0] または sys.argv[0 ] "C:testgetpath"、最初に実行されたスクリプトが配置されているディレクトリを取得します
os.path.split(os.path.realpath(__file__))[0] "C:testgetpathsub", __file__ が配置されているディレクトリを取得します ファイル sub_path.py が配置されているディレクトリ