14

我处于学习模式——这可能是一个愚蠢或 rtfm 的问题,但它是:Python os 库的源代码在哪里?我已经下载了 Python 压缩包。那里有很多用法,但似乎找不到源代码本身以及它如何与操作系统挂钩。我很想看看 os.* 调用(例如 os.read、os.write...)做了什么。我查看了 *builtin* 文件,但没有看到任何内容。感谢您的提示。

4

2 回答 2

20

os的实现分散在许多文件中。

核心 C 函数主要位于Modules/posixmodule.c中,尽管它的名称,除了 POSIX 例程之外,它还包含 Windows NT 和 OS/2 上的 OS 例程的实现。

C 函数的包装器位于Lib/os.py中,os.path函数由Lib/ntpath.pyLib/posixpath.py提供,具体取决于您的平台。

于 2013-01-30T20:45:00.117 回答
4

如果一个模块是在 Python 代码中定义的,您可以__file__在导入后通过检查模块的属性来找到该文件:

>>> import os
>>> os.__file__
'C:\\python27\\lib\\os.pyc'

如果文件是 .pyc,则只需删除最后一个“c”即可获取 .py 文件。

但是,您要查找的函数实际上可能是从已编译的 C 扩展中导入的。

于 2013-01-30T20:38:38.183 回答