python添加模块搜索路径和包的导⼊⽅法
⽅法⼀:函数添加
1 import sys
2 查看sys.path
3 添加sys.path.append("c:\\")
⽅法⼆:修改环境变量
w⽤户可以修改系统环境变量PYTHONPATH
⽅法三:增加.pth⽂件,推荐!
在site-packages添加⼀个路径⽂件,如mypkpath.pth,必须以.pth为后缀,写上你要加⼊的模块⽂件所在的⽬录名称就是了。
1 windows
c:\python27\site-packages
# 我们的学员把pth⽂件直接放在c:\python27
# (或其他python安装⽬录)⽬录下测试也是有效的
# 2015.9.23
2 linux(ubuntu)
/usr/local/lib/python2.7/dist-packages (note by shanql,我是放在这个⽬录下有效的,所添加的⽬录⼀定要存在,不存在则会不成功)
python默认安装路径2 linux(redhat)
/usr/lib/python2.7/site-packages
包的调⽤
为了避免模块名冲突,Python⼜引⼊了按⽬录来组织模块的⽅法,称为包(Package)。
每⼀个包⽬录下⾯都会有⼀个__init__.py的⽂件,这个⽂件是必须存在的,否则,Python就把这个⽬录当成普通⽬录(⽂件夹),⽽不是⼀个包。__init__.py可以是空⽂件,也可以有Python代码,因为__in
it__.py本⾝就是⼀个模块,⽽它的模块名就是对应包的名字。调⽤包就是执⾏包下的__init__.py⽂件。
跨包调⽤(当前⽬录下有modulepack1包):
from modulepack1[.modulepack2] import module
如果当前⽬录下能够到要调⽤的包,可以直接from包import模块,如果当前⽬录不到要调⽤的包,需要向sys.path添加包的所在绝对路径。
import⼀个包名,就等于执⾏了这个包下的__init__⽂件。
⽰例:
在nod1⾥import hello是不到的,需要⼿动添加包路径,如果到那是因为pycharm给加了不必要的路径,以命令⾏执⾏为准。
import sys,os
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #__file__获取执⾏⽂件相对路径,整⾏为取上⼀级的上⼀级⽬录
sys.path.append(BASE_DIR) #添加路径
import hello
hello.hello1()
模块调⽤测试
if __name__=='__main__': #__name__⽅法判断
print('ok')
在⼀个py模块直接执⾏print(__name__)会输出__main__,表⽰当前这个⽂件属于执⾏⽂件,如果从
其他的py模块中导⼊⼀个py模块,执⾏被导⼊的py模块中的print(__name__)会输出被导⼊的模块的模块名称,那么if判断就不会成功,所以导⼊的时候不会执⾏判断内的代码。
主要⽤在调试功能,即⼀个模块被调⽤的时候不执⾏内容,⽽⾃⼰调试模块的时候可以顺利的执⾏模块内容。
以上这篇python添加模块搜索路径和包的导⼊⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论