pydoc —ドキュメントジェネレータとオンラインヘルプシステム—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.8/library/pydoc
移動先:案内検索

pydoc —ドキュメントジェネレーターとオンラインヘルプシステム

ソースコード: :source: `Lib / pydoc.py`



pydoc モジュールは、Pythonモジュールからドキュメントを自動的に生成します。 ドキュメントは、コンソールにテキストのページとして表示したり、Webブラウザーに提供したり、HTMLファイルに保存したりできます。

モジュール、クラス、関数、およびメソッドの場合、表示されるドキュメントはdocstringから派生しています(つまり、 オブジェクトの__doc__属性)、およびその文書化可能なメンバーの再帰的。 docstringがない場合、 pydoc は、ソースファイルのクラス、関数、またはメソッドの定義のすぐ上、またはモジュールの上部にあるコメント行のブロックから説明を取得しようとします([を参照] X215X] inspect.getcomments())。

組み込み関数 help()は、インタラクティブインタプリタでオンラインヘルプシステムを呼び出します。このシステムは、 pydoc を使用して、ドキュメントをテキストとしてコンソールに生成します。 オペレーティングシステムのコマンドプロンプトで pydoc をスクリプトとして実行することにより、Pythonインタープリターの外部から同じテキストドキュメントを表示することもできます。 たとえば、実行中

pydoc sys

シェルプロンプトで、 sys モジュールに関するドキュメントが、Unix man コマンドで表示されるマニュアルページと同様のスタイルで表示されます。 pydoc の引数は、関数、モジュール、またはパッケージの名前、またはモジュールまたはパッケージ内のモジュール内のクラス、メソッド、または関数への点線の参照にすることができます。 pydoc への引数がパスのように見え(つまり、Unixのスラッシュなど、オペレーティングシステムのパス区切り文字が含まれている)、既存のPythonソースファイルを参照している場合、ドキュメントが作成されます。そのファイルのために。

ノート

オブジェクトとそのドキュメントを見つけるために、 pydoc はドキュメント化するモジュールをインポートします。 したがって、モジュールレベルのコードはその際に実行されます。 if __name__ == '__main__':ガードを使用して、ファイルがインポートされただけでなく、スクリプトとして呼び出された場合にのみコードを実行します。


pydoc は、出力をコンソールに出力するときに、読みやすくするために出力をページ分割しようとします。 PAGER環境変数が設定されている場合、 pydoc はその値をページ付けプログラムとして使用します。

引数の前に-wフラグを指定すると、コンソールにテキストを表示する代わりに、HTMLドキュメントが現在のディレクトリ内のファイルに書き出されます。

引数の前に-kフラグを指定すると、Unix man コマンドと同様の方法で、使用可能なすべてのモジュールの概要行で引数として指定されたキーワードが検索されます。 モジュールの概要行は、そのドキュメント文字列の最初の行です。

pydoc を使用して、Webブラウザにアクセスするためのドキュメントを提供するローカルマシンでHTTPサーバーを起動することもできます。 pydoc -p 1234 は、ポート1234でHTTPサーバーを起動し、お好みのWebブラウザーのhttp://localhost:1234/でドキュメントを参照できるようにします。 ポート番号として0を指定すると、任意の未使用ポートが選択されます。

pydoc -n 指定されたホスト名でリッスンしているサーバーを起動します。 デフォルトでは、ホスト名は「localhost」ですが、他のマシンからサーバーにアクセスしたい場合は、サーバーが応答するホスト名を変更することをお勧めします。 開発中、これはコンテナ内からpydocを実行する場合に特に便利です。

pydoc -b はサーバーを起動し、さらにWebブラウザーを開いてモジュールのインデックスページを表示します。 提供される各ページの上部にはナビゲーションバーがあり、個々のアイテムのヘルプを取得、概要行にキーワードを含むすべてのモジュールを検索して、に移動できます。モジュールインデックストピックおよびキーワードページ。

pydoc がドキュメントを生成するとき、現在の環境とパスを使用してモジュールを見つけます。 したがって、 pydoc spam を呼び出すと、Pythonインタープリターを起動してimport spamと入力した場合に取得するモジュールのバージョンが正確に文書化されます。

コアモジュールのモジュールドキュメントはhttps://docs.python.org/X.Y/library/にあると想定されています。ここで、XYはPythonインタープリターのメジャーバージョン番号とマイナーバージョン番号です。 これは、 PYTHONDOCS環境変数を別のURLに設定するか、ライブラリリファレンスマニュアルページを含むローカルディレクトリに設定することで上書きできます。

バージョン3.2で変更: -bオプションが追加されました。


バージョン3.3で変更: -gコマンドラインオプションが削除されました。


バージョン3.4で変更: pydoc は、 inspect.getfullargspec()ではなく inspect.signature()を使用して、呼び出し可能オブジェクトから署名情報を抽出するようになりました。


バージョン3.7で変更: -nオプションが追加されました。