(python) 如何查看python的.so后缀的模块?

比如我想看select模块的源码, 该怎么看呢?

selectmodule.c 源码在此
cpython 的源码在 Github 上有 mirror,标准库中 Python 编写的部分在 Lib 文件夹下,用 C 编写的部分(也就是你说的 so 后缀的模块)在 Modules 文件夹下。

Happy hacking! ;-

补充:楼下用 Pycharm 看 select.py 的方法是错的。在编译 CPython 源码的过程中,selectmodule.c 会被编译成 select.pyd 文件(pyd 文件跟 dll 文件性质差不多,具体区别请看官方文档),而那个 select.py 文件只是 select.pyd 文件的入口而已,里面什么都没有。真正的源码就是 selectmodule.c 文件。

发表评论

电子邮件地址不会被公开。 必填项已用*标注