関数のコードを表示する
Python のプログラムを作成しているときに、ある関数のソースコードを確認したくなったときは、inspect
モジュールの getsource
関数を使用して簡単に調べることができます。
次の例では、Python の対話型シェル(python3
コマンド)を起動して、os.path.abspath
関数の実装コードを確認しています。
(おまけ)シェルスクリプト化しておく
次のようなシェルスクリプト (pycode
) を作っておくと、Python の関数の実装コードを簡単に確認できるようになります。
このシェルスクリプトは、PATH の通ったディレクトリに置いて、chmod +x pycode
で実行権限を付けておきます。
例えば、os
モジュールの path.abspath
関数のコードを確認するには次のように実行します。
関数が定義されているファイル全体を表示する
inspect.getsource
関数でモジュール名を指定すれば、そのモジュール全体のコードを取得することができるのですが、ハイライト表示なしで長いコードが表示されると非常に読みにくいです。
ここでは、モジュールが定義されているファイルそのものをテキストエディタで開く方法を紹介します。
inspect.getfile
関数を使用すると、指定したクラス、関数、オブジェクトなどが定義されているファイルのパスを取得することができます。
あとは、そのファイルを任意のエディタで開けば OK です。
エディタの実行ファイルにパスが通っているのであれば、os.system
関数を使って、そのエディタでさくっと開くことができます。