Python:相対パスの取り方
Pythonスクリプト実行時に、相対パスを取りたい時がある。 そういう時は以下のようにすると相対パスを取得できる。
code:python
import os
path_name = os.path.normpath(os.path.join(os.path.abspath('ファイル名'),'../'))
上記のスクリプトでは、
code:python
os.path.abspath('ファイル名')
で指定した名称のファイルの絶対パスを取得している。実行しているスクリプトのファイル名を取得する場合は、
code:python
os.path.abspath(__name__)
__name__としてやればいい。
次にファイルからの相対パスの記述をos.path.join()でくっつけてやる。
code:python
os.path.join(os.path.abspath('ファイル名'),'../')
最後にパスをos.path.normpath()で正規化してやればいい。
code:python
os.path.normpath(os.path.join(os.path.abspath('ファイル名'),'../'))