Python:方法listdir在哪里因为模块os.py中没有“def listdir()”?

时间:2013-09-03 19:17:56

标签: python cpython listdir

Python:我想知道这个方法listdir在哪里,因为他不在模块os.py中。在这个模块中没有方法:

def listdir ()

1 个答案:

答案 0 :(得分:5)

listdir方法实际上是在C模块中实现的,并根据操作系统环境动态导入。你可以看到os.py顶部附近的导入,如下所示:

if 'posix' in _names:
    name = 'posix'
    linesep = '\n'
    from posix import *

然后,Python源文件posixmodule.c的POSIX实现为listdirhttps://github.com/python-git/python/blob/master/Modules/posixmodule.c#L2068(同样适用于其他操作系统)。