如何获取 Python 模块的路径

Python013

如何获取 Python 模块的路径,第1张

类似这样的代码

import a_module  

import os    

path =os.path.dirname(amodule.__file__)  

print path

比如在我的计算机上执行这样的结果。

john@john-desktop:~$ python

Python 2.7.6 (default, Mar 22 2014, 22:59:56) 

[GCC 4.8.2] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import os

>>> print os.path.dirname(os.__file__)

/usr/lib/python2.7

>>> import wx

>>> print os.path.dirname(wx.__file__)

/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx

>>>

查找 Python 模块的用法说明及模块文件位置:

1.在解释器里面用help就可能获得模块的使用说明,用__file__就可以获得模块文件位置。

2.例如 os 模块。

>>>import os。

>>>help(os)    # 获得os模块的使用帮助,在帮助里也会列出模块文件位置,见下图。

>>>print os.__file__    # 打印出os模块文件所在位置。

Python:

Python (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

导入一个叫 spam 的模块时,解释器先在当前目录中搜索名为 spam.py 的文件。如果没有找到的话,接着会到 sys.path 变量中给出的目录列表中查找。 sys.path 变量的初始值来自如下:

输入脚本的目录(当前目录)。

环境变量 PYTHONPATH 表示的目录列表中搜索

(这和 shell 变量 PATH 具有一样的语法,即一系列目录名的列表)。

Python 默认安装路径中搜索。

Note

在支持符号链接的文件系统中,输入的脚本所在的目录是符号链接指向的目录。 换句话说也就是包含符号链接的目录不会被加到目录搜索路径中。

实际上,解释器由 sys.path 变量指定的路径目录搜索模块,该变量初始化时默认包含了输入脚本(或者当前目录), PYTHONPATH 和安装目录。这样就允许 Python 程序了解如何修改或替换模块搜索目录。需要注意的是由于这些目录中包含有搜索路径中运行的脚本,所以这些脚本不应该和标准模块重名,否则在导入模块时 Python 会尝试把这些脚本当作模块来加载。这通常会引发错误。