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中的map()函数和reduce()函数的用法
Apr 27 Python
python中matplotlib实现最小二乘法拟合的过程详解
Jul 11 Python
Python中max函数用于二维列表的实例
Apr 03 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
May 15 Python
python 用for循环实现1~n求和的实例
Feb 01 Python
Django异步任务之Celery的基本使用
Mar 23 Python
djano一对一、多对多、分页实例代码
Aug 16 Python
使用python脚本自动创建pip.ini配置文件代码实例
Sep 20 Python
Python中join()函数多种操作代码实例
Jan 13 Python
Python加速程序运行的方法
Jul 29 Python
Python中logging日志的四个等级和使用
Nov 17 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
Feb 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
短波的认识
2021/03/01 无线电
php trim 去除空字符的定义与语法介绍
2010/05/31 PHP
PHP开发不能违背的安全规则 过滤用户输入
2011/05/01 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
2014/05/19 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
JavaScript模拟实现继承的方法
2015/03/30 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
浅析JS异步加载进度条
2016/05/05 Javascript
jquery replace方法去空格
2017/05/08 jQuery
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
2020/09/05 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
Python求出0~100以内的所有素数
2018/01/23 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
Pandas中Series和DataFrame的索引实现
2019/06/27 Python
python输出电脑上所有的串口名的方法
2019/07/02 Python
基于python框架Scrapy爬取自己的博客内容过程详解
2019/08/05 Python
Python包,__init__.py功能与用法分析
2020/01/07 Python
tensorflow使用指定gpu的方法
2020/02/04 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
详解HTML5表单新增属性
2016/12/21 HTML / CSS
实习鉴定评语
2014/01/19 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
朋友聚会开场白
2015/06/01 职场文书
首都博物馆观后感
2015/06/05 职场文书
导游词之岳阳楼
2019/09/25 职场文书
导游词之吉林花园山
2019/10/17 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
电脑只能进入安全模式无法正常启动的解决办法
2022/04/08 数码科技
Python PIL按比例裁剪图片
2022/05/11 Python