1

math一部のPythonモジュール(およびなど)のpydocドキュメントには、sysいくつかのHTMLドキュメントへの便利なリンクを含む「MODULEDOCS」セクションがあります。

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)上の共有ライブラリであり、モジュールはPythonで構築されているため、ソースでこれを見つけることができませんでしたsys…何か助けていただければ幸いです。

4

2 に答える 2

3

モジュールのコードを調べたpydocところ、「MODULE DOCS」リンクはカスタム モジュールではなく、標準モジュールでのみ利用できると思います。

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

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

None の戻り値は、空の "MODULE DOCS" セクションとして解釈されます。

于 2010-06-24T12:43:15.757 に答える
0

モジュールのドキュメントは、おそらくモジュールのdocstringです。これは、モジュールの上部にあるプレーンテキスト(または再構成されたテキスト)の文字列です。これが例です。

"""
Module documentation.
"""

def bar():
    print "HEllo"

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

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

于 2010-06-20T09:29:38.897 に答える