在我的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