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登录Dr.com思路以及代码分享
Jun 25 Python
在Python中用get()方法获取字典键值的教程
May 21 Python
Python对文件操作知识汇总
May 15 Python
Python中装饰器兼容加括号和不加括号的写法详解
Jul 05 Python
python 删除大文件中的某一行(最有效率的方法)
Aug 19 Python
python使用webdriver爬取微信公众号
Aug 31 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
python字符串的拼接方法总结
Nov 18 Python
Django框架models使用group by详解
Mar 11 Python
使用Keras预训练模型ResNet50进行图像分类方式
May 23 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
Oct 28 Python
Python实现猜拳与猜数字游戏的方法详解
Apr 06 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
php录入页面中动态从数据库中提取数据的实现
2006/10/09 PHP
php REMOTE_ADDR之获取访客IP的代码
2008/04/22 PHP
为IP查询添加GOOGLE地图功能的代码
2010/08/08 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
仿微博字符限制效果实现代码
2012/04/20 Javascript
如何让页面加载完成后执行js
2013/06/26 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
2017/05/08 jQuery
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
Parcel.js + Vue 2.x 极速零配置打包体验教程
2017/12/24 Javascript
javascript中toFixed()四舍五入使用方法详解
2018/09/28 Javascript
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
Python中关于使用模块的基础知识
2015/05/24 Python
python读写ini配置文件方法实例分析
2015/06/30 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
如何在python中写hive脚本
2019/11/08 Python
django下创建多个app并设置urls方法
2020/08/02 Python
Pytest单元测试框架如何实现参数化
2020/09/05 Python
优瑞自动咖啡机官网:Jura
2018/09/29 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
施工资料员岗位职责
2014/01/06 职场文书
工作个人的自我评价
2014/01/14 职场文书
三年级班级文化建设方案
2014/05/04 职场文书
材料化学专业求职信
2014/07/15 职场文书
2014年秋季开学寄语
2014/08/02 职场文书
考试作弊万能检讨书
2014/10/19 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书