当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。
import os
Python解析器会搜索当前目录、已安装的内置模块、第三方模块,搜索路径就存放在sys模块的path中。
搜索路径是一个解释器会先进行搜索的所有目录的列表。
所以说sys.path是python的搜索模块的路径集,是一个list。

如果模块和自己写的脚本不在同一个目录下,在脚本开头用sys.path.append(path)添加所需路径,这种方法是运行时修改搜索路径,退出python环境后自己添加的路径就会消失。
如果要永久添加路径到sys.path:
- 将写好的py文件放到 已经添加到系统环境变量的 目录下 ;
- 在 /usr/lib/python2.6/site-packages 下面新建一个.pth 文件(以pth作为后缀名)
将模块的路径写进去,一行一个路径,如: vim pythonmodule.pth
/home/liu/shell/config
/home/liu/shell/base - 使用PYTHONPATH环境变量
export PYTHONPATH=$PYTHONPATH:/home/liu/shell/config
-
PYTHONPATH (菜鸟教程)
PYTHONPATH也是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。
在这个环境变量中输入相关的路径,如果是windows系统,不同的路径之间用分号(英文的;)分开,如果是linux系统,不同的路径之间用逗号分开(英文的,)。
如果PYTHONPATH 变量还不存在,可以创建它!
- 在系统的环境变量中设置的PYTHONPATH,是永久的。
- 命令行中设置的PYTHONPATH,在命令行窗口关闭后,就是失效了
-
os.path 主要用于获取文件的属性(菜鸟教程)
| 方法 | 说明 |
|---|---|
| os.path.abspath(path) | 返回绝对路径 |
| os.path.basename(path) | 返回文件名 |
| os.path.commonprefix(list) | 返回list(多个路径)中,所有path共有的最长的路径 |
| os.path.dirname(path) | 返回文件路径 |
| os.path.exists(path) | 如果路径 path 存在,返回 True;反之,返回 False。 |
| os.path.lexists | 路径存在则返回True,路径损坏也返回True |
| os.path.join(path1[, path2[, …]]) | 把目录和文件名合成一个路径 |
| os.path.expandvars(path) | 根据环境变量的值替换path中包含的" n a m e " 和 " name"和" name"和"{name}" |
| os.path.getatime(path) | 返回最近访问时间(浮点型秒数) |
| os.path.getmtime(path) | 返回最近文件修改时间 |
| os.path.getctime(path) | 返回文件 path 创建时间 |
【oOo右右】 【liuchunming033】 【修改Python搜索路径】
对PYTHONOATH的理解似乎有点问题???
PYTHONPATH和PATH区别??
2018.11.16写于济南
2018.11.20修改于乐陵
2151

被折叠的 条评论
为什么被折叠?



