python - 如何访问Python标准库文件?

标签 python standard-library

我刚开始学习python不久,我希望能更多地了解我导入的模块的功能和方法是如何实际工作的。

我希望 python 库有点像 javascript 框架 - 我可以进入导入的文件并查看构建框架/模块的实际代码。

但是当我在 python 子目录中挖掘时,我发现模块是 .lib 格式。

那么标准库模块是我可以以某种方式检查其功能的实际Python代码吗?或者它们的整合程度太深,我无法像这样研究它们?

顺便说一句,相同的规则是否适用于非标准库导入,即 beautifulsoup?我有点希望通过查看代码来了解网络抓取是如何从头开始工作的

谢谢

最佳答案

正如上面评论中提到的,您可以在站点包文件夹中查看其他包,例如 beautifulsoup。

标准库模块可以用纯Python编写,但并非全部都是。当您想查看此类模块时,您可以在线启动并浏览 CPython 源代码 ( http://hg.python.org/cpython/file/ )。

在那里你会发现不同的文件夹:

  • Lib/ :许多纯Python模块(例如oscopy模块)
  • Objects/ :以下是诸如 lists 之类的 C 源文件或dictionaries

如果您想查看标准库中的模块,请尝试找到类似 os.py 的文件。对于os模块在 Lib/ -文件夹。

如果您安装了该模块(使用 pip 或任何其他包管理器),请找到您的 site-packages文件夹并在其中查找模块的源文件。

这应该为您提供一个良好的起点。

关于python - 如何访问Python标准库文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24541041/

相关文章:

c++ - C++ 1z中的编译时反射?

c++ - "black box"类型的标准布局保证的目的是什么?

linux - 使用 clock_gettime 时出现链接器错误

c++ - c++标准库中的所有函数都需要有外部链接吗?

python - 直接引用 Python 的标准库

python - 将平面投影到新坐标系上

python - 将 XML 文件中的所有元素解析为 CSV,无需硬编码值

python - 覆盖 simple-jwt 的 TokenObtainPairSerializer 以实现 2FA

python - "print"附近的语法错误?

python - 如果 groupby 后满足条件,则对先前值求和