我查看了CPython的源代碼(Hg online here),但我似乎無法找到os.stat()
的定義。看起來stat
在os
模塊(Lib/os.py,約在線139)中是神奇的全局。在CPython中定義os.stat()在哪裏?
有人可以指向我的相應文件嗎?
我查看了CPython的源代碼(Hg online here),但我似乎無法找到os.stat()
的定義。看起來stat
在os
模塊(Lib/os.py,約在線139)中是神奇的全局。在CPython中定義os.stat()在哪裏?
有人可以指向我的相應文件嗎?
貌似線51(用於UNIX;也有類似的線其他平臺):
from posix import *
跟蹤它的時候,我們發現我們通過線29的返回值達到這一點:
2301,其最終由os
稱爲:
static PyObject * posix_lstat(PyObject *self, PyObject *args, PyObject *kwargs) // ...
而posix_stat
在Modules/posixmodule.c定義
啊,謝謝!我錯過了。 – 2012-07-13 17:50:14
此功能取決於平臺,並在posix
,nt
,os2
或ce
模塊之一中定義。作爲一個例子,這裏是implementation of os.stat()
for POSIX operating systems。
我自己發現了這個功能。它如何在'os'中結束?謝謝。 – 2012-07-13 17:49:20
@ConradMeyer:已導入。 'os.py'中有一大堆'from xxx import *'語句;正確的選擇是基於平臺的。 – 2012-07-13 17:50:50
看起來像Modules/posixmodule.c中的'posix_stat()':2302將'stat(2)'系統調用暴露給python,但它不能很好地解釋它是如何到達'os'的。它被添加到10952行的'posix_modules',對應於「stat」。這些看起來是從11814行上的模塊中導出的。 – 2012-07-13 17:45:33