python路径搜索与搜索路径漫谈

发布时间:2019-10-12编辑:脚本学堂
在python编程中,有这样的二个概念:路径搜索与搜索路径,这里做下解释,有需要的朋友参考下。

python编程中,模块的导入需要一个叫做"路径搜索"的过程。
即在文件系统"预定义区域"中查找 mymodule.py文件(如果你导入 mymodule 的话)。
这些预定义区域只不过是你的 Python 搜索路径的集合。

默认搜索路径是在编译或是安装时指定的。它可以在一个或两个地方修改。
一个是启动 Python 的 shell命令行的 PYTHONPATH 环境变量。 该变量的内容是一组用冒号分割的目录路径。

如果想让解释器使用这个变量, 那么请确保在启动解释器或执行 Python 脚本前设置或修改了该变量。
解释器启动之后, 也可以访问这个搜索路径, 它会被保存在 sys 模块的 sys.path 变量里。
不过它已经不是冒号分割的字符串, 而是包含每个独立路径的列表。

一个 Unix 机器搜索路径的样例。
注意:搜索路径在不同系统下一般是不同的。
 

复制代码 代码示例:
>>> sys.path
['',
'/usr/local/lib/python2.x/',
'/usr/local/lib/python2.x/plat-sunos5',
'/usr/local/lib/python2.x/lib-tk',
'/usr/local/lib/python2.x/lib-dynload',
'/usr/local/lib/Python2.x/site-packages',]
 

这只是个列表,所以可以随时随地对它进行修改。

如果知道需要导入的模块是什么,而它的路径不在搜索路径里,那么只需要调用列表的 append() 方法即可,就像这样:
sys.path.append('/home/wesc/py/lib')
修改完成后, 即可加载自己的模块了。