python添加模块搜索路径和包的导入方法


Posted in Python onJanuary 19, 2019

方法一:函数添加

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, 我是放在这个目录下有效的,所添加的目录一定要存在,不存在则会不成功)

2 linux(redhat)

/usr/lib/python2.7/site-packages

包的调用

为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。

python添加模块搜索路径和包的导入方法

每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录(文件夹),而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是对应包的名字。调用包就是执行包下的__init__.py文件。

跨包调用(当前目录下有modulepack1包):

from modulepack1[.modulepack2] import module

如果当前目录下能够找到要调用的包,可以直接from包import模块,如果当前目录找不到要调用的包,需要向sys.path添加包的所在绝对路径。

import一个包名,就等于执行了这个包下的__init__文件。

示例:

python添加模块搜索路径和包的导入方法

在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添加模块搜索路径和包的导入方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现socket端口重定向示例
Feb 10 Python
python文件写入实例分析
Apr 08 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 Python
python调用matlab的m自定义函数方法
Feb 18 Python
Python3列表内置方法大全及示例代码小结
May 10 Python
OpenCV图像颜色反转算法详解
May 13 Python
python中的协程深入理解
Jun 10 Python
django框架基于queryset和双下划线的跨表查询操作详解
Dec 11 Python
Django关于admin的使用技巧和知识点
Feb 10 Python
python绘制动态曲线教程
Feb 24 Python
python MD5加密的示例
Oct 19 Python
opencv实现图像几何变换
Mar 24 Python
python引用(import)某个模块提示没找到对应模块的解决方法
Jan 19 #Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
Jan 19 #Python
在pycharm 中添加运行参数的操作方法
Jan 19 #Python
解决项目pycharm能运行,在终端却无法运行的问题
Jan 19 #Python
Pycharm以root权限运行脚本的方法
Jan 19 #Python
Python自定义一个类实现字典dict功能的方法
Jan 19 #Python
解决pycharm工程启动卡住没反应的问题
Jan 19 #Python
You might like
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
脚本之家贴图转换+转贴工具用到的js代码超级推荐
2007/04/05 Javascript
angularjs中的单元测试实例
2014/12/06 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
js实现拖拽效果(构造函数)
2015/12/14 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
2019/05/16 Javascript
小程序如何支持使用 async/await详解
2019/09/12 Javascript
vue  elementUI 表单嵌套验证的实例代码
2019/11/06 Javascript
Vue实现多标签选择器
2019/11/28 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
JavaScript前端开发时数值运算的小技巧
2020/07/28 Javascript
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
初步探究Python程序的执行原理
2015/04/11 Python
MySQL最常见的操作语句小结
2015/05/07 Python
Python抓取百度查询结果的方法
2015/07/08 Python
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
python 获取list特定元素下标的实例讲解
2018/04/09 Python
Python 变量类型详解
2018/10/10 Python
使用pyqt 实现重复打开多个相同界面
2019/12/13 Python
python logging.basicConfig不生效的原因及解决
2020/02/20 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
降低python版本的操作方法
2020/09/11 Python
Django路由层URLconf作用及原理解析
2020/09/24 Python
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
IBatis持久层技术
2016/07/18 面试题
求职信需要的五点内容
2014/02/01 职场文书
高中生毕业评语
2014/12/30 职场文书
2015年建筑工程工作总结
2015/05/13 职场文书
人民币使用说明书
2019/04/17 职场文书
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript