python模块搜索路径
来源:互联网 发布:linux如何打开mysql 编辑:程序博客网 时间:2024/05/19 03:19
模块搜索路径
概括地讲,Python的模块搜索路径是这些主要组件组合而成的结果。其中有些进行了预先定义,而其中有些你可以进行调整来告诉Python去哪里搜索。
1. 程序的主目录
2. PYTHONPATH目录(如果已经进行了设置)
3. 标准链接库目录
4. 任何.pth文件的内容(如果存在的话)。
最后,这四个组件组合起来就变成了sys.path,它是目录名称字符串的列表。搜索路径的第一和第三元素是自动定义的,但是因为Python会从头到尾搜索这些组件组合的结果,第二和第四元素,就可以用于扩展路径,从而包含你自己的源代码目录。
PYTHONPATH目录
Python会从左至右(假设你设置了的话)搜索PYTHONPATH环境变量设置中罗列出的所有目录。简而言之,PYTHONPATH是设置包含Python程序文件的目录的列表,这些目录可以是用户定义的或平台特定的目录名。你可以把想导入的目录都加进来,而Python会使用你的设置来扩展模块搜索的路径。
因为Python会先搜索主目录,当导入的文件跨目录时,这个设置才显得格外重要。也就是说,如果你需要被导入的文件与进行导入的文件处在不同目录时。
sys.path列表
如果你想看看模块搜索路径在机器上的实际配置,可以通过打印内置的sys.path列表(也就是标准模块sys的path属性)来查看这个路径,就好像Python知道一样。目录名称字符串列表就是Python内部实际的搜索路径。导入时,Python会由左至右搜索这个列表中的每个目录。
其实,sys.path是模块搜索的路径。Python在程序启动时进行配置,自动将顶级文件的主目录(或者指定当前工作目录的一个空字符串)、任何PYTHONPATH目录、已经创建的任何.pth文件路径的内容,以及标准库目录合并。结果是Python在每次导入一个新文件的时候查找目录名的字符串的列表。
import sysprint(sys.path)
模块文件的选择
记住,文件名的后缀(例如,.py)是刻意从import语句中省略的。Python会选择在搜索路径中第一个符合导入文件名的文件。例如,import b形式的import叙述可能会加载
源代码文件b.py
字节码文件b.pyc
目录b,包导入
编译扩展模块(通常用C或C++编写),导入时使用动态连接(例如,Linux的b.so以及Cygwin和Windows的b.dll或b.pyd)。
用C编写的编译好的内置模块,并通过静态连接至Python
- Python 模块搜索路径
- Python模块搜索路径
- python模块搜索路径
- Python 模块搜索路径
- Python之模块搜索路径
- python添加模块搜索路径
- python模块之搜索路径和路径搜索
- 为Python添加默认模块搜索路径
- Python学习3:搜索路径和模块
- Python模块包和搜索路径
- 为Python添加默认模块搜索路径
- 为Python添加默认模块搜索路径
- python模块搜索路径 (sys.path)
- 为Python添加默认模块搜索路径
- 如何添加Python的模块搜索路径
- 为Python添加默认模块搜索路径
- 为Python添加默认模块搜索路径
- 为Python添加默认模块搜索路径
- Sybase触发器学习
- 剑指offer 25题 【举例让抽象具体化】二叉树中和为某一值的路径
- php中echo() print() print-r()区别
- sb奔溃闪退
- android listview中播放视频,支持全屏
- python模块搜索路径
- TCP粘包、拆包
- 如何把一个CMake的Ubuntu手机应用打包为一个snap应用
- php面向对象中this,self,parent三个关键字的含义
- L1-002. 打印沙漏
- JAVA帮助文档全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版下载
- C# Winform根据屏幕大小自动缩放
- 关于在js加载预览图片问题
- CCNU ACM 2016夏季集训·day4模拟赛(!!!)