方法一:函数添加

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)。

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

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

from modulepack1[.modulepack2] import module

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

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

示例:

在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添加模块搜索路径和包的导入方法相关推荐

  1. python中模块和包是什么_Python中模块和包的概念

    将所有代码放入一个py文件:无法维护 如果将代码分拆放入多个py文件,好处: 同一个名字的变量互不影响 模块a 模块b | | V V #a.py #b.py x = 5 x = 'str' def ...

  2. python模块是一个可共享的程序_python基础-模块

    一 模块介绍 #一个python文件有两种用途#1.被当成程序运行#2.被当做模块导入 在Python中,一个py文件就是一个模块,文件名为xxx.py模块名则是xxx,导入模块可以引用模块中已经写好 ...

  3. python shutil模块导入_python常用模块之shutil模块

    python常用模块之shutil模块 shutil模块,高级的文件.文件夹.压缩包处理模块 1.shutil.copyfile(src,des[,length]):将文件内容拷贝到另一个文件 In ...

  4. python卸载包很慢_Python卸载模块的方法汇总

    本文给大家汇总介绍了3种卸载Python已安装模块的方法,推荐大家使用easy_install或者pip的方式来进行,简单方便 easy_install 卸载 通过easy_install 安装的模块 ...

  5. python随机选取0到100间的奇数_python random模块(随机数)详解

    使用前要先导入random模块 import random random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 rando ...

  6. python 绝对路径找不到文件_python获取文件绝对路径解决找不到文件句柄的问题实例(readConfig.py)V1.2...

    #coding=utf8 ''' 该模块是用来读取配置文件, 通过正则表达式来获取下载路径和保存路径. 文件初始化时打开文件并读取配置文件信息 主要包括三个函数: getDownPath():用来获取 ...

  7. python相对路径找不到文件_Python里使用相对路径的坑

    过程 写了个脚本丢服务器里, 每次启动时都要去读取一个cache文件 open('table.cache', 'rb') 然后为脚本设置了一个软连接, 以后用search命名就能使用脚本了 ln -s ...

  8. python生成一个含有20个随机数的列表_python随机模块22个函数详解(上)

    作者:小伍哥 来源: AI入门学习 今天给大家纤细介绍下python中的随机模块,随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性.平时数据分析各种分 ...

  9. python视频抽帧 后 前端javascript如何显示_python通过ffmgep从视频中抽帧的方法

    如下所示: ffmpeg中文文档:http://linux.51yip.com/search/ffmpeg ffmpeg -i test_baofeng.wmv -y -f image2 -ss 00 ...

  10. python语言使用什么语句实现上下文管理协议_Python with语句上下文管理器两种实现方法分析...

    本文实例讲述了Python with语句上下文管理器.分享给大家供大家参考,具体如下: 在编程中会经常碰到这种情况:有一个特殊的语句块,在执行这个语句块之前需要先执行一些准备动作:当语句块执行完成后, ...

最新文章

  1. Twitter在超分辨率技术上取得新进展,能还原打码图片
  2. java遍历集合list,JAVA基础(List集合遍历)
  3. 为什么ubuntu64位下C语言for循环不能超过2147483647次?(size_t )
  4. 2016 ACM/ICPC Asia Regional Qingdao Online 1005 Balanced Game
  5. Python | 深入浅出字符串
  6. 获取今日、本周、本月至今日的所有日期
  7. -bash: wget 未找到命令的解决办法
  8. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第3节 线程同步机制_6_解决线程安全问题_同步方法...
  9. pandasSeries模块
  10. Lingo 基本使用
  11. suitecrm上传附件限制修改
  12. Python文本加密 或 文本文件加密
  13. cmm是什么意思(风量cmm是什么意思)
  14. row_number() OVER(PARTITION BY)函数介绍
  15. 光敏电阻简单应用——晚上灯亮,白天灯灭
  16. 半钧先生:分享一波超赞的冬至文案,句句暖到心!
  17. 国内下载vscode速度慢解决
  18. 国培南通之行的感悟——(其一)
  19. vs2010 opencv 视频抓图
  20. arduino和轮毂电机接线_四. 测试电机相线和霍尔线接线顺序

热门文章

  1. 无显示器主机配置服务器
  2. 山无棱-天地合-乃敢与君绝
  3. Zero-shot Adversarial Quantization论文翻译+解读
  4. HMC_Recovery_V7R730 安装步骤
  5. 如何在职场上获得良好的起点
  6. HackingLab 脚本关
  7. 起底硅谷最神秘、估值最高的大数据公司:Palantir
  8. Spring Boot 大文件上传(断点上传)、服务端分片下载、客户端分片下载(断点下载)
  9. Element-Ui 双重el-tabs组件选中第二层时,刷新导致第一层选中样式丢失问题以及解决方法
  10. linux grep,sed和awk常用操作