编写 python 模块

本文介绍了如何解析和编写Python模块,特别是涉及pyOpenSSL的使用。解析部分探讨了pyOpenSSL如何引用C模块,而编写模块则分为Python代码模块和C代码模块两部分,提供了编写和编译的示例。
摘要由CSDN通过智能技术生成

解析 python 模块

今天手下小朋友再问如何找到python模块C的代码,他觉得SSL的接口不合乎他要的。后来事情有些曲折,原叫他先使用pyOpenSSL。最后还是要研究一下python模块。
如下解析和编写会使用pyOpenSSL说明。

解析pyOpenSSL

pyOpenSSL 代码里src/OpenSSL/_util.py 如下引用cryptography模块,用于把SSL代码引入pyOpenSSL调用。当然这还是python代码,不合乎我们要的。

from cryptography.hazmat.bindings.openssl.binding import Binding
lib = binding.lib

解析cryptography

cryptography代码里 src/cryptography/hazmat/bindings/openssl/binding.py使用__import__引用ssl模块,其作用在于引用SSL的C模块。

__import__("_ssl")

解析SSL模块

我们知道C模块代码,那如何引用的,请先下载Python代码,我指Python Compiler Source code。
查看Modules/Setup.dist,我们找到如下编译选项。清楚知道这代码链接OpenSSL加密库和SSL库。所以如果熟悉OpenSSL应用如何写,看_ssl.c可以找到OpenSSL的调用实作,在此不解释。

# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c

# Socket modul
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值