2014/07/16

Python Tips:ライブラリ・モジュールの場所を調べたい

Pythonでライブラリ(モジュールやパッケージ)がどのディレクトリに入ってるのか、その場所を調べる方法についてご紹介します。

ライブラリの場所は、モジュールの __file__ アトリビュートか __path__ アトリビュートで調べることができます。

import datetime
print datetime.__file__
# => datetimeモジュールの場所

import json
print json.__path__
# => jsonパッケージの場所

__file__ と __path__ のちがいとしては
  • __file__ モジュールの本体か __init__.py の絶対パス
  • __path__ パッケージのディレクトリの絶対パス(の配列)
というところになります。

ですので、 __file__ はそのライブラリがモジュール(1ファイルのライブラリ)の場合でもパッケージ(複数ファイルのライブラリ)の場合でも動作しますが、 __path__ の方はパッケージの場合限定のアトリビュートとなるようです。


参考
[ Python ] モジュールの場所 - memlog
How do I find the location of Python module sources? - Stack Overflow
python - how to get module location - Stack Overflow

0 件のコメント: