Pydocを使用して表示するために「モジュールドキュメント」を定義する方法は?
質問
いくつかのPythonモジュールのPydocドキュメント( math
と sys
)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
モジュールを初期化するとき。これにより、文字列はモジュールドキュストリングになります。これが数学モジュールのソースで行われていることがわかります ここ.
所属していません StackOverflow