python中os.remove()的源代码

时间:2018-06-12 16:56:08

标签: python

python中os.remove()的源代码在哪里?在以下文件“https://github.com/python/cpython/blob/master/Lib/os.py”中,给出了“os”的一些函数,但是我找不到“remove”的定义。

基本上我想检查一下如何在python中实现remove()。

1 个答案:

答案 0 :(得分:1)

这是POSIX:

https://github.com/python/cpython/blob/69dccc397ad1522309f15e4d5e0afe68b782ba66/Modules/posixmodule.c#L4374

os.py的顶部,如果它在POSIX上运行,则会看到它导入名为posix的模块:

https://github.com/python/cpython/blob/master/Lib/os.py#L64

if 'posix' in _names:
# ...
    import posix
    __all__.extend(_get_exports_list(posix))

这是在posixmodule.c

底部定义的内置模块

https://github.com/python/cpython/blob/69dccc397ad1522309f15e4d5e0afe68b782ba66/Modules/posixmodule.c#L13698

#define MODNAME "posix"

// ...

static struct PyModuleDef posixmodule = {
    PyModuleDef_HEAD_INIT,
    MODNAME,
// ...
};

// ...

PyMODINIT_FUNC
INITFUNC(void)
{
// ...
    m = PyModule_Create(&posixmodule);
// ...