注目キーワード

【Python】モジュールのソース・格納場所を確認する方法(inspect)

Pythonの開発を行っていて、インストールしたモジュールのソースコードや格納場所が知りたくて調べているところ「inspect」モジュールを使うと良いということが分かったので、まとめました。

この記事では、「inspect」モジュールを使って、対象のモジュールの「格納場所」と「ソースコード」を調べる方法をサンプルソースを使って紹介します。

対象レベル

Pythonの環境設定が整っており、Pythonの基本構文が理解出来ること。

詳しくは「【Python入門】〜初級編〜環境構築・基本構文まとめ」にまとめてあります。興味のある方はご覧ください。

サンプルソースを読むうえで理解しておきたいこと

基本的にこの章の内容は読み飛ばしてOKです。サンプルソースでわからないところがあれば参照してみてください。

モジュールの格納場所を確認する方法

まず初めに、モジュールの格納場所を確認する方法についてです。

以下のサンプルソースを実行すると「 configparser 」モジュールの格納が分かります。

「inspect」モジュールの使い方として、対象のモジュールもインポートしておく必要があります。この場合は「configparser」をインポートします。

import inspectimport configparser

そして、「inspect.getfile(対象モジュール)」で格納場所を取得します。取得した内容をprint関数で表示してあげます。

print(inspect.getfile(configparser))

実行結果は以下の通りで実際にソースを確認したところ正しかったです。

sample_inspect_getfile.py実行

モジュールのソースを確認する方法

次に、対象モジュールのソースコードを確認する方法です。

対象モジュールをインポートするところまでは同じで、「inspect.getsource( 対象モジュール )」で対象のソースコードを取得します。同様にprint関数で表示してあげます。

print(inspect.getsource(configparser))

実行結果が以下になります。すべての出力結果は載せていないですが、対象のソースコードが出力されていることが確認できました。

スポンサーリンク

sample_inspect_getsource.py実行

まとめ

対象のモジュールもインポート する必要がある

「inspect.getfile(対象モジュール)」で格納場所を取得する

「inspect.getsource( 対象モジュール )」で対象のソースコードを取得する