python中math.py(socket.py,regex.py 等)的源文件在哪?
如果找不到模块的源文件,可能它是一个内建的模块,或是使用 C,C++ 或其他编译型语言实现的动态加载模块。这种情况下可能是没有源码文件的,类似 mathmodule.c
这样的文件会存放在 C 代码目录中(但不在 Python 目录中)。
Python 中(至少)有三类模块:
-
使用 Python 编写的模块(.py);
-
使用 C 编写的动态加载模块(.dll,.pyd,.so,.sl 等);
-
使用 C 编写并链接到解释器的模块,要获取此列表,输入:
import sys print(sys.builtin_module_names)