[Python] 現在のパスを取得するいろいろ

現在のパスを取得する方法

実行中の.pyファイルのパス

import sys,os

print(os.path.abspath(sys.argv[0]))

実行中のpythonファイルのパス

記載されているパス

import sys,os

print(os.path.abspath(__file__))

上記が記載されているファイルのパスが表示される。
つまり、インポートされた側に上記のコードが書いてあった場合、
インポートされた側のパスが表示される。

テスト

test1.py

import sys,os

print(os.path.abspath(sys.argv[0]))
print(os.path.abspath(__file__))

print(os.path.dirname(os.path.abspath(sys.argv[0])))
print(os.path.dirname(os.path.abspath(__file__)))

test2.py

import sys,os

# 親ディレクトリに置かれているスクリプトファイルをimport
sys.path.append(os.pardir)
import test1

結果

PS D:Â¥folder1Â¥folder2> python .Â¥test2.py
D:Â¥folder1Â¥folder2Â¥test2.py
D:Â¥folder1Â¥test1.py
D:Â¥folder1Â¥folder2
D:Â¥folder1