如何列出Python模块中的所有功能?

时间:2020-03-06 14:46:52  来源:igfitidea点击:

我的系统上安装了python模块,我希望能够看到其中可用的函数/类/方法。

我想在每个函数上调用doc函数。在ruby中,我可以执行类似ClassName.methods之类的操作来获取该类上所有可用方法的列表。 python中是否有类似的东西?

例如。就像是:

from somemodule import foo
print foo.methods # or whatever is the correct method to call

解决方案

我们可以使用" dir(module)"来查看所有可用的方法/属性。还要检查PyDocs。

检查模块。另请参见" pydoc"模块,交互式解释器中的" help()"功能和" pydoc"命令行工具,后者可生成我们需要的文档。我们可以给他们提供我们想查看其文档的课程。他们还可以生成例如HTML输出并将其写入磁盘。

import types
import yourmodule

print([getattr(yourmodule, a) for a in dir(yourmodule)
  if isinstance(getattr(yourmodule, a), types.FunctionType)])

导入模块后,我们可以执行以下操作:

help(modulename)

...要一次以交互方式获取所有功能的文档。或者我们可以使用:

dir(modulename)

...仅列出模块中定义的所有函数和变量的名称。

这将达到目的:

dir(module)

但是,如果发现读取返回的列表很烦人,则只需使用以下循环就可以每行获取一个名称。

for i in dir(module): print i