Python 模块搜索路径 -- (转)】的更多相关文章

当一个名为 spam 的模块被导入的时候,解释器首先寻找具有该名称的内置模块.如果没有找到,然后解释器从 sys.path 变量给出的目录列表里寻找名为 spam.py 的文件.sys.path 初始有这些目录地址: 包含输入脚本的目录(或者未指定文件时的当前目录).PYTHONPATH (一个包含目录名称的列表,它和shell变量 PATH 有一样的语法).取决于安装的默认设置注解 在支持符号链接的文件系统上,包含输入脚本的目录是在追加符号链接后才计算出来的.换句话说,包含符号链接的目录并 没…
最近在看<Python源码剖析>,对Python内部运行机制比以前了解的更深入了,感觉自己有机会也可以做个小型的动态脚本语言了,呵呵,当然是吹牛了.目的当然不是创造一个动态语言,目的只有一个:更好的使用Python.看到模块导入那块的时候,终于对模块导入机制比较了解了,以防忘记特记录下来. 模块的搜索路径 模块的搜索路径都放在了sys.path列表中,如果缺省的sys.path中没有含有自己的模块或包的路径,可以动态的加入(sys.path.apend)即可.下面是sys.path在Windo…
Python 会在什么地方寻找文件来导入模块? 使用命名为 path 变量的存储在标准 sys 模块 下的一系列目录名和 ZIP 压缩文件. 你可以读取和修改这个列表.下面是在我的 Mac 上 Python 3.3 的 sys.path 的内容: >>> import sys >>> for place in sys.path: ... print(place) ... /Library/Frameworks/Python.framework/Versions/3.3/…
在python交互模式下输入: help('modules') #可以显示出已安装的模块 在python交互模式下输入: import sys sys.path #可以显示出模块搜索路径 增加搜索路径的方法: 一. sys.path.append() #此方法仅临时修改搜索路径,程序运行完成即结束 二. 在系统环境变量中添加PYTHONPATH,添加方法类似于PATH,如: export PYTHONPATH=/home/username/programs/bin:$PYTHONPATH…
在导入自定义的模块时,除了指定模块名之外,也需要指定目录,由于Python把目录称作包,因此,这类导入被称为包导入.包导入把计算机上的目录变成Python的命名空间,而目录中所包含的子目录和模块文件则对应命名空间中的属性. Python已经导入的模块保存在一个内置的sys.modules字典中,以便记录哪些模块已经记录了. 一,模块搜索路径 导入过程首先需要定位导入文件的位置,也就是,告诉Python到何处去找到要导入的文件,因此,需要设置模块的搜索路径.在大多数情况下,Python会自动到默认…
一.模块的循环导入问题 run.py # import m1 # 第一次导入 m1.py # 错误示范 ''' print('正在导入m1') from m2 import y #第一次导入m2 x='m1' ''' m2.py # 错误示范 ''' print('正在导入m2') from m1 import x y='m2' ''' 解决方案: 一:把循环导入的语句放到名字定义的后面 # m1.py# y='m2' # from m1 import x # m2.py # print('正在…
一.昨日作业讲解 先来回顾一下昨日的内容 1.os模块 和操作系统交互 工作目录 文件夹 文件 操作系统命令 路径相关的 2.模块 最本质的区别 import会创建一个专属于模块的名字, 所有导入模块中的都会在这个空间中 import from import as 起别名 * 和 __all__ 作业讲解:os.listdir() 返回一个列表,里面的每一个元素都是相对路径值就是文件,或者文件夹 使用递归的方式实现 import os def get_size(dir): sum_size =…
为Python加入默认模块搜索路径 方法一:函数加入 1) import sys 2) 查看sys.path 3) 加入sys.path.append("c:\\") 方法二:改动环境变量 windows用户能够改动系统环境变量PYTHONPATH 方法三:添加.pth文件,推荐! 在site-packages加入一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的文件夹名称就是了. 1) windows c:\python27\site-pac…
06.05自我总结 一.模块导入及使用 1.模块导入的两种方式 我们拿time模块并使用其中的time功能进行举例 a)第一种 import time print(time.time) import首次导入模块发生了3件事: 打开模块文件 执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间 在程序中会有一个模块名称指向模块名称空间(如果他是import time as f)则是f指向模块空间 在当前执行文件中拿到一个模块名 b)第二种 from time import time pr…
如何将写好的脚本或者是模块加入python的搜索路径? >>>import sys >>> sys.path ['', '/Library/Frameworks/Python.framework/Versions/3.4/lib/python34.zip', '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4', '/Library/Frameworks/Python.framework/Ve…