現在のパスを取得する方法
実行中の.pyファイルのパスimport sys,os
print(os.path.abspath(sys.argv[0]))
import sys,os
print(os.path.abspath(sys.argv[0]))
実行中のpythonファイルのパス
記載されているパスimport sys,os
print(os.path.abspath(__file__))
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
コメント