2011-06-17 132 views
6

如果我輸入os模塊,我可以運行以下推斷os.py的位置的Python:「進口POSIX」問題

>>> import os 
>>> print os.__file__ 
/usr/lib/python2.6/os.pyc 

然而,當我輸入posix,它不具有__file__屬性。是因爲它是作爲python運行時的一部分實現的,而不是作爲標準庫?

如何僅使用python官方文檔查找更多信息?

回答

6

這是一個C模塊。它可以內置到Python二進制文件中,也可以編譯爲共享庫。在你的情況下,它被編譯在

official docs說不直接導入它,你應該使用通過os

3

交互式運行python。

>>> import posix 
>>> help(posix) 

那裏有很多好東西。

FILE 
    (built-in) 
+0

help()絕對方便!今天學點新東西,謝謝!希望我也能接受你的回答! – 2011-06-17 07:08:40

1

您還可以使用「檢查」模塊查找信息(比如源文件路徑提供的功能等)關於一個Python模塊。例如:

import inspect 
import os 
inspect.getsourcefile(os) 
'/usr/local/lib/python2.7/os.py' 

inspect.getsourcefile(inspect) 
'/usr/local/lib/python2.7/inspect.py' 

import sys   
inspect.getsourcefile(sys) 
Traceback (most recent call last): 
[...] 
raise TypeError('{!r} is a built-in module'.format(object)) 
TypeError: <module 'sys' (built-in)> is a built-in module