Python 在具有导入函数的模块上使用pydoc
我已经创建了自己的模块Python 在具有导入函数的模块上使用pydoc,python,import,module,pydoc,Python,Import,Module,Pydoc,我已经创建了自己的模块X。开始时,我从一些其他模块导入函数(例如,从math import func导入函数)。我注意到,当我创建文档时: pydoc -w X 生成的文件还包含从math模块导入的函数,这是不需要的(特别是如果我从几个模块导入了许多函数,我就是这么做的) 可以通过调用以下命令来避免: import math 但是在这种情况下,我必须导入所有函数,然后使用math.func调用它们,而不是只使用func 是否有另一种方法可以避免用导入的函数填充文档,同时仍然可以从导入带有的函
X
。开始时,我从一些其他模块导入函数(例如,从math import func导入函数)。我注意到,当我创建文档时:
pydoc -w X
生成的文件还包含从math
模块导入的函数,这是不需要的(特别是如果我从几个模块导入了许多函数,我就是这么做的)
可以通过调用以下命令来避免:
import math
但是在这种情况下,我必须导入所有函数,然后使用math.func
调用它们,而不是只使用func
是否有另一种方法可以避免用导入的函数填充文档,同时仍然可以从导入带有
的函数 查看源代码内部,您可以看到以下评论:
if all is not None:
# only document that which the programmer exported in __all__
return name in all
这意味着pydoc
将查找\uuuuu all\uuuuuu
模块属性,并且如果定义了,将只记录其中定义的函数
因此,对于模块X
,您可以通过指定要在\uuuu all\uuuu
中导出的函数的名称来定义它们。只有这些功能才会记录在相应的功能部分中:
__all__ = ['myfunc1', 'myfunc2', ..., 'myfuncN']
举例说明:
如果没有\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
from math import cos
def myfunc():
""" documentation"""
pass
生成一个mod.html
文件,其中包含用户定义的myfunc()
和导入的内置函数cos()
的文档:
通过添加\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
并指定要在其中导出的函数名:
__all__ = ['myfunc'] # visible names
from math import cos
def myfunc():
""" documentation"""
pass
您将“过滤”掉cos()
函数,并且只有myfunc()
的文档:
注意:\uuuuuuuuuuuuuuuuuuuuu
可以包含脚本中使用的函数和变量名pydoc
将区分这些类型,并将它们分为两个不同的组:
函数中的函数
数据中的变量