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序列之list和tuple常用方法以及注意事项
Jan 09 Python
Python代码调试的几种方法总结
Apr 15 Python
python实现在sqlite动态创建表的方法
May 08 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
Aug 23 Python
Python面向对象之多态原理与用法案例分析
Dec 30 Python
django3.02模板中的超链接配置实例代码
Feb 04 Python
python 实现在无序数组中找到中位数方法
Mar 03 Python
pycharm解决关闭flask后依旧可以访问服务的问题
Apr 03 Python
Django 解决阿里云部署同步数据库报错的问题
May 14 Python
python根据字典的键来删除元素的方法
Aug 16 Python
Django自带用户认证系统使用方法解析
Nov 12 Python
Python四款GUI图形界面库介绍
Jun 05 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中的登陆login
2007/01/18 PHP
php is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
ThinkPHP模板IF标签用法详解
2014/07/01 PHP
使用PHP Socket 编程模拟Http post和get请求
2014/11/25 PHP
php实现无限级分类
2014/12/24 PHP
详解php用static方法的原因
2018/09/12 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
JavaScript表单常用验证集合
2008/01/16 Javascript
javascript函数声明和函数表达式区别分析
2014/12/02 Javascript
angularJS 中$scope方法使用指南
2015/02/09 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
AngularJS教程 ng-style 指令简单示例
2016/08/03 Javascript
微信小程序基于本地缓存实现点赞功能的方法
2017/12/18 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
17道题让你彻底理解JS中的类型转换
2019/08/08 Javascript
javascript实现fetch请求返回的统一拦截
2019/12/22 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
Python 中Django安装和使用教程详解
2019/07/03 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
python实现计算图形面积
2021/02/22 Python
Get The Label中文官网:英国运动时尚购物平台
2017/04/19 全球购物
菲律宾酒店预订网站:Hotels.com菲律宾
2017/07/12 全球购物
奥地利婴儿用品和玩具购物网站:baby-markt.at
2020/01/26 全球购物
股权收购意向书
2014/04/01 职场文书
爱护公共设施标语
2014/06/24 职场文书
感谢信格式范文
2015/01/22 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书
基于Python的EasyGUI学习实践
2021/05/07 Python
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL