Python でライブラリ(モジュールやパッケージ)がどのディレクトリに入ってるのか、その場所を調べる方法についてご紹介します。
ライブラリの場所は、モジュールの __file__ アトリビュートか __path__ アトリビュートで調べることができます。
import datetime
print datetime.__file__
# => datetimeモジュールの場所import json
print json.__path__
# => jsonパッケージの場所__file__ と __path__ には次のような違いがあります。
- __file__: モジュールの本体か- __init__.pyの絶対パス
- __path__: パッケージのディレクトリの絶対パス(の配列)
なので、 __file__ はそのライブラリがモジュール(1ファイルのライブラリ)の場合でもパッケージ(複数ファイルのライブラリ)の場合でも動作しますが、 __path__ の方はパッケージの場合限定のアトリビュートとなるようです。