Python: "导入posix" 问题
如果我导入了 os
模块,我可以运行以下代码来推测 os.py
的位置。
>>> import os
>>> print os.__file__
/usr/lib/python2.6/os.pyc
但是,当我导入 posix
时,它没有 __file__
这个属性。这是因为它是作为 Python 运行时的一部分实现的,而不是作为标准库吗?
我怎么能仅通过 Python 的官方文档找到更多这样的信息呢?
3 个回答
1
你还可以使用'inspect'模块来查找关于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
3
以交互方式运行Python。
>>> import posix
>>> help(posix)
那里有很多有用的东西。
FILE
(built-in)
7
这是一个C语言模块。它可以直接编译进Python的程序里,也可以编译成一个共享库。在你的情况下,它是被编译进去了。
官方文档建议不要直接导入这个模块,而是应该通过os
这个模块来使用它提供的功能。