Symfoware

Symfowareについての考察blog

Python pydocの使い方、書き方とhtml出力の方法

JavaのJavaDocと同様、Pythonにもpydocがあることは知っていたのですが、
使ったことがなかったので、ちょっと調べてみました。



helpでの表示



pythonのインタープリターを起動して、help()を実行すると、モジュールに
記載されたドキュメントが表示できるようになります。
31_001.png


試しに、httplibと入力してみると、こんな感じでモジュールのドキュメントが表示されました。
31_002.png


なんだかかっこいいです。
31_003.png


「q」と入力すると、helpモードを抜けて、インタープリターに戻ります。





書いてみる



記載した内容がどの部分に表示されるのか知りたかったので、
適当にサンプルを書いてみました。


  1. # -*- coding:utf-8 -*-
  2. """
  3. ファイルの先頭に書いたコメント
  4. """
  5. __author__ = "作者 <mail@example.com>"
  6. __status__ = "production"
  7. __version__ = "0.0.1"
  8. __date__    = "01 November 2011"
  9. DATA_TEST = '変数'
  10. class Test(object):
  11.     """
  12.     クラスの先頭に書いたコメント
  13.     """
  14.     def test(self):
  15.         """
  16.         メソッドの先頭に書いたコメント
  17.         """
  18.         pass
  19.     
  20. print("hello world")




sample.pyという名前でファイルを保存し、保存したディレクトリへ移動。
help()を実行した後、


help> sample



を実行してみます。


31_005.png

31_006.png


__author__
__version__
__date__



これらが特殊なキーワードとして扱われるようです。


注意点として、helpは一旦対象のモジュールをimportした後に実行されますので、
例えばサンプルのようなソースの書き方だと、printが実行されてしまいます。

31_007.png


これを避けるために、__name__が'__main__'であるかチェックするようにしてやります。


  1. # -*- coding:utf-8 -*-
  2. """
  3. ファイルの先頭に書いたコメント
  4. """
  5. __author__ = "作者 <mail@example.com>"
  6. __status__ = "production"
  7. __version__ = "0.0.1"
  8. __date__    = "01 November 2011"
  9. DATA_TEST = '変数'
  10. class Test(object):
  11.     """
  12.     クラスの先頭に書いたコメント
  13.     """
  14.     def test(self):
  15.         """
  16.         メソッドの先頭に書いたコメント
  17.         """
  18.         pass
  19.     
  20. if __name__ == '__main__':
  21.     print("hello world")









pydocコマンドで表示



pydocコマンドを使用すれば、インタープリターを起動せずに、helpと同じ効果が得られます。


$ pydoc sample




31_008.png

31_009.png






htmlファイルに変換



pydocコマンドの引数に「-w」を追加すると、htmlファイルが生成されます。


$ pydoc -w sample
wrote sample.html




こんな感じのよく見かけるhtmlファイルが出力されました。

31_010.png




関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2011/12/28(水) 00:07:31|
  2. Python
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<Python logging 各種出力ハンドラーの使い方について | ホーム | Python loggingモジュールの基本的な使い方>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/884-cd6694b9
この記事にトラックバックする(FC2ブログユーザー)