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中的With语句
Feb 02 Python
Python中的lstrip()方法使用简介
May 19 Python
python实现搜索本地文件信息写入文件的方法
Feb 22 Python
python中requests小技巧
May 10 Python
Python处理中文标点符号大集合
May 14 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
Sep 04 Python
python设置环境变量的作用和实例
Jul 09 Python
Python 实现Serial 与STM32J进行串口通讯
Dec 18 Python
python数据预处理方式 :数据降维
Feb 24 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
Jul 09 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
Dec 18 Python
Python趣味挑战之给幼儿园弟弟生成1000道算术题
May 28 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实现蜘蛛访问日志统计
2013/07/05 PHP
php计算函数执行时间的方法
2015/03/20 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
JS实现从连接中获取youtube的key实例
2015/07/02 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
2018/02/23 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
Nuxt.js之自动路由原理的实现方法
2018/11/21 Javascript
ES6入门教程之Array.from()方法
2019/03/23 Javascript
javascript实现动态时钟的启动和停止
2020/07/29 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
javascript 易错知识点实例小结
2020/04/25 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
Vue使用预渲染代替SSR的方法
2020/07/02 Javascript
vue使用openlayers实现移动点动画
2020/09/24 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
Python时间获取及转换知识汇总
2017/01/11 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
2017/04/24 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
python 读取视频,处理后,实时计算帧数fps的方法
2018/07/10 Python
对pandas将dataframe中某列按照条件赋值的实例讲解
2018/11/29 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
python实现文字版扫雷
2020/04/24 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
德语专业求职信
2014/03/12 职场文书
大学新闻系求职信
2014/06/03 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书
2015年植树节活动总结
2015/02/06 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书