浅谈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 相关文章推荐
在Linux系统上部署Apache+Python+Django+MySQL环境
Dec 24 Python
深入理解python对json的操作总结
Jan 05 Python
Python发送http请求解析返回json的实例
Mar 26 Python
python实现决策树分类
Aug 30 Python
对python3中pathlib库的Path类的使用详解
Oct 14 Python
Python使用dict.fromkeys()快速生成一个字典示例
Apr 24 Python
pymysql 开启调试模式的实现
Sep 24 Python
python 3.7.4 安装 opencv的教程
Oct 10 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
Nov 22 Python
Pytorch数据拼接与拆分操作实现图解
Apr 30 Python
python开发一个解析protobuf文件的简单编译器
Nov 17 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
Feb 01 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
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
jquery实现树形二级菜单实例代码
2013/11/20 Javascript
jquery实现类似淘宝星星评分功能有截图
2014/09/15 Javascript
JS仿淘宝实现的简单滑动门效果代码
2015/10/14 Javascript
JavaScript实现多种排序算法
2016/02/24 Javascript
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
微信小程序(应用号)开发新闻客户端实例
2016/10/24 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
详解Angular.js指令中scope类型的几种特殊情况
2017/02/21 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
关于Ajax的原理以及代码封装详解
2017/09/08 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
JavaScript如何对图片进行黑白化
2018/04/10 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
2018/11/15 Javascript
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
vue3.0搭配.net core实现文件上传组件
2020/10/29 Javascript
python实现无证书加密解密实例
2014/10/27 Python
关于python的list相关知识(推荐)
2017/08/30 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
Django多层嵌套ManyToMany字段ORM操作详解
2020/05/19 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
香港No.1得奖零食网:香港零食大王
2016/07/22 全球购物
日本最大化妆品和美容产品的综合口碑网站:cosme shopping
2019/08/28 全球购物
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
投标诚信承诺书
2014/05/26 职场文书
市委常委会班子党的群众路线教育实践活动整改方案
2014/10/25 职场文书
新闻报道稿范文
2015/07/23 职场文书
决心书格式范文
2015/09/23 职场文书
mysql部分操作
2021/04/05 MySQL