找到Python模块文件名

时间:2013-08-30 18:42:51

标签: python python-2.7

我得到的模块名称包含os.path.isfile的声明。 Jedi lib给了我genericpath(没有文件路径)。现在我想获得这个genericpath模块的PY文件的完整文件名。例如。 “C:\ Py27 \ LIB \ genericpath.py”。我该怎么做?绝地不能这样做?

3 个答案:

答案 0 :(得分:8)

您可以查看__file__

的值
>>> import genericpath
>>> genericpath.__file__
 '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/genericpath.pyc'

答案 1 :(得分:5)

__file__不起作用时,请按照正确的方式使用inspect

>>> import somemodule
>>> import inspect
>>> inspect.getfile(somemodule)
'/usr/lib64/python2.7/somemodule.pyc'

答案 2 :(得分:3)

像这样:

>>> import re
>>> re.__file__
'/usr/lib/python2.7/re.pyc'

对于不属于Python核心的软件包,您还可以使用__path__

>>> import requests
>>> requests.__file__
'/usr/local/lib/python2.7/dist-packages/requests-1.1.0-py2.7.egg/requests/__init__.pyc'
>>> requests.__path__
['/usr/local/lib/python2.7/dist-packages/requests-1.1.0-py2.7.egg/requests']