Pydocを使用して表示するために「モジュールドキュメント」を定義する方法は?

StackOverflow https://stackoverflow.com/questions/3078735

  •  28-09-2019
  •  | 
  •  

質問

いくつかのPythonモジュールのPydocドキュメント( mathsys)HTMLドキュメントへの有用なリンクを含む「モジュールドキュメント」セクションがあります。

Help on module math:

NAME
    math

FILE
    /sw/lib/python2.6/lib-dynload/math.so

MODULE DOCS
    /sw/share/doc/python26/html/math.html

そのようなセクションは、自分のモジュールにどのように含めることができますか?

より一般的には、Pydocによって認識された変数が文書化されている場所はありますか?

ソースでこれを見つけることができませんでした math モジュールは、私のマシン(OS X)の共有ライブラリであり、 sys モジュールはPythonに組み込まれています...どんな助けも大歓迎です!

役に立ちましたか?

解決

のコードを見た後 pydoc モジュールでは、「モジュールドキュメント」リンクは、カスタムモジュールではなく標準モジュールでのみ使用できると思います。

関連するコードは次のとおりです。

def getdocloc(self, object):
    """Return the location of module docs or None"""

    try:
        file = inspect.getabsfile(object)
    except TypeError:
        file = '(built-in)'

    docloc = os.environ.get("PYTHONDOCS",
                            "http://docs.python.org/library")
    basedir = os.path.join(sys.exec_prefix, "lib",
                           "python"+sys.version[0:3])
    if (isinstance(object, type(os)) and
        (object.__name__ in ('errno', 'exceptions', 'gc', 'imp',
                             'marshal', 'posix', 'signal', 'sys',
                             'thread', 'zipimport') or
         (file.startswith(basedir) and
          not file.startswith(os.path.join(basedir, 'site-packages'))))):
        if docloc.startswith("http://"):
            docloc = "%s/%s" % (docloc.rstrip("/"), object.__name__)
        else:
            docloc = os.path.join(docloc, object.__name__ + ".html")
    else:
        docloc = None
    return docloc

なしの返品値は、空の「モジュールドキュメント」セクションとして解釈されます。

他のヒント

モジュールのドキュメントはおそらくです モジュールのドックストリング. 。これは単純なテキストです(または 再構築されたテキスト)モジュールの上部で発生する文字列。これが例です。

"""
Module documentation.
"""

def bar():
    print "HEllo"

これは、純粋なPythonモジュール用です。

コンパイルされた拡張モジュールの場合( math)、3番目の引数としてモジュールドキュストリング(Python文字列として)を渡します Py_InitModule3 モジュールを初期化するとき。これにより、文字列はモジュールドキュストリングになります。これが数学モジュールのソースで行われていることがわかります ここ.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top