在我的Python标准库(Python的2.7
)方法,我找了在模块内的具体方法。寻找Python标准库
例如,如果我打开re.py
,我可以看到有像findall
具体方法,search
等 同样是显而易见的,当我做dir(re)
。我可以清楚地看到上述方法。
同样,当我做dir(os)
时,存在一种称为system
的方法,我通常使用os.system(cmd_name)
来调用。
但是,当我os.py
下寻找这个方法,它不存在。难道我做错了什么?请指导
在我的Python标准库(Python的2.7
)方法,我找了在模块内的具体方法。寻找Python标准库
例如,如果我打开re.py
,我可以看到有像findall
具体方法,search
等 同样是显而易见的,当我做dir(re)
。我可以清楚地看到上述方法。
同样,当我做dir(os)
时,存在一种称为system
的方法,我通常使用os.system(cmd_name)
来调用。
但是,当我os.py
下寻找这个方法,它不存在。难道我做错了什么?请指导
该功能未在os
模块中定义,因此在os.py
中找不到定义。它从另一个模块导入os
;哪个模块将取决于您的操作系统。您可以检查:
>>> os.system.__module__
'nt'
在这里,你可以看到,因为我是在Windows上,os.system
来自nt
模块。
你可能会发现,os.system.__module__
要么'nt'
或'posix'
,代表无论是nt
或posix
模块。那么问题是,这些模块在哪里定义?没有nt.py
或posix.py
。
原来这些模块用C语言实现,在Modules/posixmodule.c
。是的,nt
模块是posixmodule.c
,posix
模块也是如此。有点奇怪。
如何访问nt模块?我想看看def system的代码 – fsociety
@fsociety:Answer扩展。 – user2357112
有没有办法看看posixmodule.c?请原谅我的无知 – fsociety