如何在Python中查找所有内置库

时间:2008-11-30 22:21:35

标签: python

我最近开始使用Python,并且正在享受“包含电池”的设计。我已经发现我可以导入时间,数学,重新,urllib,但不知道如何知道某些东西是内置的,而不是从头开始编写。

包含哪些内容,以及从哪里可以获得其他优质图书馆?

5 个答案:

答案 0 :(得分:16)

首先,python libary reference打击了实际包含的内容。 global module index包含这些相同模块的整洁,按字母顺序排列的摘要。如果您对库有依赖关系,则可以使用如下构造来轻松测试状态:

try:
    import foobar
except:
    print 'No foobar module'

如果您在启动时为分发中不一定存在的模块执行此操作,则可以通过合理的诊断进行保释。

Python Package Index在perl世界中扮演类似于CPAN的角色,并且列出了许多第三方模块的种类。浏览和搜索这应该可以让您了解有关的内容。还有一些实用程序,例如Yolk,它允许您在Py​​thon上查询Python包索引和已安装的包。

其他优秀的在线Python资源包括:

答案 1 :(得分:11)

运行

pydoc -p 8080

并将浏览器指向http://localhost:8080/

您将看到已安装的所有内容,并且可以花费大量时间来发现新内容。 :)

答案 2 :(得分:3)

Python全局模块索引(http://docs.python.org/modindex.html)列出了Python 2.6中包含的每个模块。

Sourceforge拥有各种优秀的Python模块 - 最近派上用场的是PyExcelerator,这是一个直接编写MS Excel工作簿的模块。 Python包索引(http://pypi.python.org/)也是Python模块的一个很好的来源。

答案 3 :(得分:1)

Doug Hellman's blog深入介绍了许多内置库。如果您想了解有关标准库的更多信息,请务必阅读他的文章。

答案 4 :(得分:0)

这与你的问题没有直接关系,但是当你在python控制台中时,你可以在任何函数上调用help()并打印其文档。

另外,你可以在任何模块或对象上调用dir(),它会列出它的所有属性,包括函数。

这对于在导入模块后检查模块的内容非常有用。

>>> import math
>>> dir(math)
['__doc__', '__name__', 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp', 'log', 'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh']
>>> help( math.log )
Help on built-in function log in module math:

log(...)
    log(x[, base]) -> the logarithm of x to the given base.
    If the base not specified, returns the natural logarithm (base e) of x.