室村日記

日々、試行錯誤したことを備忘録的にまとめていきます

Pythonで実行ファイルから相対パスでデータを取得する

1.はじめに

Pythonさわってて相対パスの取得まわりで手間取ったのでメモ.
環境はMacOS,Python3.6.0です.

2.相対パスの取得のしかた

手順としては,
1.実行ファイルの名前を取得する
2.相対パスとくっつける
3.正規化する

3.サンプルスクリプト

import os
name = os.path.dirname(os.path.abspath(__name__))
path = os.path.join(name, '../dataset/data')
data = os.path.normpath(path)

ちなみに,hoge/scripts/sample.pyからhoge/dataset/dataを引っ張るためです.