如何在不使用IDE的情况下在Python中轻松找到类的命名空间?

时间:2010-01-10 18:21:12

标签: python

通常,我使用IntelliJ进行python编程。但有时我无法访问它或只是为了快速编辑我在文本编辑器中打开Python文件。

在那些时候,很难找到类的命名空间。我正在谷歌上搜索它。但这需要时间。有更好的方法吗?

修改 看看回复,我注意到我的问题不是很清楚。

我需要在编码时找到类的命名空间,而不是在运行时。因此,使用inspect__module__等内省方法对我没有帮助。

WildSeal建议使用online doc。这很好,但它只适用于Python的标准库。我想搜索当前Python路径中安装的所有模块。使用IntelliJ很容易。它已经索引了所有文件。

我尝试使用grep来搜索site-packages目录中的类。但是搜索所有文件需要花费大量时间,可能因为它们尚未编入索引。

5 个答案:

答案 0 :(得分:2)

让我们不要忘记dir(),我们这些使用vim作为IDE的人大量使用它。

答案 1 :(得分:1)

我使用ctags并且我已经预先将我的site-packages以及其他文件夹编入索引。有许多GUI and command line tools将与ctags集成以满足您的需求。就个人而言,我使用vim作为TagList插件(instructions)的文本编辑器。

答案 2 :(得分:0)

您可以查看online documentation或随Python安装的文档。如果您搜索某个函数或类,您将获得所有相关信息(我假设您的意思是Python标准库中类或函数的包或模块)。

虽然它们并不多,至少人们通常会同时使用,所以你应该很快了解它们。

答案 3 :(得分:0)

特殊属性__module__是定义类的模块名称。如果在顶级脚本中定义,它将是'__main__'。

答案 4 :(得分:0)

试试inspect。getmodule:

>>> import inspect
>>> class Foo:
    pass

>>> inspect.getmodule(Foo)
<module '__main__' (built-in)>

那里也有很多其他很酷的东西。