无法理解cpython中操作系统模块的实现

2024-09-29 23:18:40 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想看看标准库的一些实现。我从操作系统库开始,代码是github上的here

我以一个方法为例os.listdir(),我完全不知道它是如何实现的,即使在看了代码之后(请原谅这个noob)。我有以下问题:

  • os.__all__没有列出这个方法,但我认为它肯定是一个方法,因为{}列出了{},我在谷歌上搜索了我在{a2}文档页面上找到的所有内置函数,而这不是其中之一
  • 模块中没有定义名为listdir的独占函数。在代码中,根据我有限的理解,函数取自globals()并放入support_fd集中。我不明白这个方法是如何被调用的

我认为我遇到的主要问题是该模块是如何设计的,我无法在网上找到任何资源来用更简单的术语进行解释,因此我在这里寻求一些指导

编辑:对于那些提问的人,我在onlinegdb中尝试了以下代码

import os

if "listdir" in os.__all__:
    print("Yes")
print(os.listdir())

结果只有main.py,它还应该打印Yes,可能平台onlinegdb是问题所在,但它清楚地将listdir的输出显示为main.py


Tags: 模块方法函数代码pygithub标准here

热门问题