浅谈python import引入不同路径下的模块


Posted in Python onJuly 11, 2017

python 包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。

下面将具体介绍几种常用情况:

(1)主程序与模块程序在同一目录下:

如下面程序结构:

`-- src
    |-- mod1.py
    `-- test1.py

若在程序test1.py中导入模块mod1, 则直接使用 import  mod1或from mod1 import *;

(2)主程序所在目录是模块所在目录的父(或祖辈)目录

如下面程序结构:

`-- src
    |-- mod1.py
    |-- mod2
    |   `-- mod2.py
    `-- test1.py

若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口); 然后使用 from mod2.mod2 import * 或import mod2.mod2.

(3)主程序导入上层目录中模块或其他目录(平级)下的模块

如下面程序结构:

`-- src
    |-- mod1.py 
    |-- mod2
    |   `-- mod2.py
    |-- sub
    |   `-- test2.py
    `-- test1.py

若在程序test2.py中导入模块mod1和mod2。首先需要在mod2下建立__init__.py文件(同(2)),src下不必建立该文件。然后调用方式如下:

下面程序执行方式均在程序文件所在目录下执行,如test2.py是在cd sub;之后执行python test2.py

而test1.py是在cd src;之后执行python test1.py; 不保证在src目录下执行python sub/test2.py成功。

   import sys
   sys.path.append("..")
   import mod1
   import mod2.mod2

 (4)从(3)可以看出,导入模块关键是能够根据sys.path环境变量的值,找到具体模块的路径。

这里仅介绍上面三种简单情况。

以上这篇浅谈python import引入不同路径下的模块就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python的Django框架上部署ORM库的教程
Apr 20 Python
Python中使用asyncio 封装文件读写
Sep 11 Python
解决python中画图时x,y轴名称出现中文乱码的问题
Jan 29 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
Jul 14 Python
Python企业编码生成系统总体系统设计概述
Jul 26 Python
python通过移动端访问查看电脑界面
Jan 06 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
Python Numpy 控制台完全输出ndarray的实现
Feb 19 Python
关于python 的legend图例,参数使用说明
Apr 17 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
May 26 Python
在django中查询获取数据,get, filter,all(),values()操作
Aug 09 Python
Python matplotlib安装以及实现简单曲线的绘制
Apr 26 Python
python 环境变量和import模块导入方法(详解)
Jul 11 #Python
Python编写登陆接口的方法
Jul 10 #Python
CentOS中升级Python版本的方法详解
Jul 10 #Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 #Python
Python 实现数据库更新脚本的生成方法
Jul 09 #Python
Python 实现数据库(SQL)更新脚本的生成方法
Jul 09 #Python
解决python文件字符串转列表时遇到空行的问题
Jul 09 #Python
You might like
Laravel 批量更新多条数据的示例
2017/11/27 PHP
javascript eval(func())使用示例
2013/12/05 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
一个Action如何调用两个不同的方法
2014/05/22 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
ES6通过babel转码使用webpack使用import关键字
2016/12/13 Javascript
jQuery实现div跟随鼠标移动
2020/08/20 jQuery
vue使用echarts图表的详细方法
2018/10/22 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
Vuex modules模式下mapState/mapMutations的操作实例
2019/10/17 Javascript
js将URL网址转为16进制加密与解密函数
2020/03/04 Javascript
在Python的gevent框架下执行异步的Solr查询的教程
2015/04/16 Python
python爬虫的工作原理
2017/03/05 Python
Python学习小技巧之利用字典的默认行为
2017/05/20 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
对Python3.6 IDLE常用快捷键介绍
2018/07/16 Python
利用nohup来开启python文件的方法
2019/01/14 Python
详解Python_shutil模块
2019/03/15 Python
Python定义函数功能与用法实例详解
2019/04/08 Python
Python中如何导入类示例详解
2019/04/17 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
Python持续监听文件变化代码实例
2020/07/22 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
澳大利亚领先的男装零售连锁店:Lowes
2020/08/07 全球购物
师范毕业生自我鉴定
2014/01/15 职场文书
酒店开业庆典主持词
2014/03/21 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
物资采购方案
2014/06/12 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
敲诈同学钱财检讨书范文
2014/11/18 职场文书
办公室岗位职责范本
2015/04/11 职场文书
学校党员干部承诺书
2015/05/04 职场文书
2016年公务员六五普法心得体会
2016/01/21 职场文书
七个非常实用的Python工具包总结
2021/06/15 Python
教你win10系统中APPCRASH事件问题解决方法
2022/07/15 数码科技