如果我导入os
模块,我可以运行以下命令来推断os.py的位置
>>> import os
>>> print os.__file__
/usr/lib/python2.6/os.pyc
但是,当我导入posix
时,它没有__file__
属性。是因为它是作为python运行时的一部分实现的,而不是作为标准库实现的?
如何仅使用python官方文档找到更多相关信息?
答案 0 :(得分:6)
这是一个C模块。它既可以内置到Python二进制文件中,也可以编译为共享库。在你的情况下,它是在
编译 official docs说不要直接导入它,您应该使用os
提供的功能
答案 1 :(得分:3)
以交互方式运行python。
>>> import posix
>>> help(posix)
那里有很多好东西。
FILE
(built-in)
答案 2 :(得分: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