Pythonの開発を行っていて、インストールしたモジュールのソースコードや格納場所が知りたくて調べているところ「inspect」モジュールを使うと良いということが分かったので、まとめました。
この記事では、「inspect」モジュールを使って、対象のモジュールの「格納場所」と「ソースコード」を調べる方法をサンプルソースを使って紹介します。
対象レベル
Pythonの環境設定が整っており、Pythonの基本構文が理解出来ること。
詳しくは「【Python入門】〜初級編〜環境構築・基本構文まとめ」にまとめてあります。興味のある方はご覧ください。
サンプルソースを読むうえで理解しておきたいこと
基本的にこの章の内容は読み飛ばしてOKです。サンプルソースでわからないところがあれば参照してみてください。
モジュールの格納場所を確認する方法
まず初めに、モジュールの格納場所を確認する方法についてです。
以下のサンプルソースを実行すると「 configparser 」モジュールの格納が分かります。
「inspect」モジュールの使い方として、対象のモジュールもインポートしておく必要があります。この場合は「configparser」をインポートします。
import inspectimport configparser
そして、「inspect.getfile(対象モジュール)」で格納場所を取得します。取得した内容をprint関数で表示してあげます。
print(inspect.getfile(configparser))
実行結果は以下の通りで実際にソースを確認したところ正しかったです。

モジュールのソースを確認する方法
次に、対象モジュールのソースコードを確認する方法です。
対象モジュールをインポートするところまでは同じで、「inspect.getsource( 対象モジュール )」で対象のソースコードを取得します。同様にprint関数で表示してあげます。
print(inspect.getsource(configparser))
実行結果が以下になります。すべての出力結果は載せていないですが、対象のソースコードが出力されていることが確認できました。
スポンサーリンク

まとめ
対象のモジュールもインポート する必要がある
「inspect.getfile(対象モジュール)」で格納場所を取得する
「inspect.getsource( 対象モジュール )」で対象のソースコードを取得する