Tech Beans

Web企業で働くエンジニアのBlog


モジュール内部からのカレントディレクトリの取得


実行スクリプトからモジュールを呼び出す場合、モジュール内部からモジュール本体のパスを取得する方法。
単純にos.getcwd()を使うと実行スクリプトのカレントディレクトリを取得してしまう。
呼び出しているモジュール中で、モジュールのカレントディレクトリを扱いたい場合、
inspectモジュールを使うTIPS。[From stackoverflow]

import inspect
import os
filename = inspect.getfile( inspect.currentframe() ) # module file name
dirpath = os.path.dirname( inspect.getfile( inspect.currentframe() ) ) # module directory

絶対パスもabspathを使えば取得できる。