python - Python如何查找模块和方法

标签 python python-3.x

对于Linux安装环境,Python标准模块大多作为单个.py文件存储在路径“/usr/lib64/python3x/”中。 (我在这里使用版本 3.6 和 Centos 6)所有可用的方法和类都应该在该单个 .py 文件中找到。

以模块“datetime”为例,在文档中它说它有一个名为“date”的类,对于这个类,它有一个名为“今天()'。所以在'/usr/lib64/python3.6/datetime.py'中我们可以找到

class date:
..
..
    def today(cls):
    ..
    ..

但是,对于“/usr/lib64/python3.6/ssl.py”中的模块“ssl”,docs有一个名为“SSLContext.cert_store_stats()”的方法,但是在文件“ssl.py”中,我可以找到类SSLContext,但我似乎找不到在该类中查找方法cert_store_stats()。为什么会这样?

这并不是针对任何代码问题,只是出于对 Python 如何查找其模块和方法的好奇。

最佳答案

如果您阅读 ssl.py 源代码,第一行会说明:

# Wrapper module for _ssl, providing some additional facilities
# implemented in Python.

然后再往下一点(在模块的文档字符串之后),您会发现

from _ssl import _SSLContext

最后是 SSLContext 类定义,开头为:

class SSLContext(_SSLContext):

IOW,您正在寻找的方法继承自_ssl._SSLContext

注意:_ssl 是一个 C 编码模块,您会在 stdlib 和第 3 部分应用程序中找到其他几个模块。

关于python - Python如何查找模块和方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55279480/

相关文章:

python - 如何检测函数是否已在本地定义?

python - 车辆牌照 OCR

python - 使用 xlsxwriter 从 Excel 中删除行/列

python - 使用 Recorder 模块进行 Kivy 单元测试

python - 如何返回列表中以 "b"开头的第二个元素

python - 根据 Django 模型中的字段值选择方法

arrays - 具有复杂步长的 numpy 数组切片是什么意思?

python - WebElement 没有属性 w3c

python - Fabric 3 询问 sudo 密码一次

python - "print >>"在 python 中做了什么?