浅谈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根据出生年份简单计算生肖的方法
Mar 27 Python
Python数据分析之如何利用pandas查询数据示例代码
Sep 01 Python
Django基于ORM操作数据库的方法详解
Mar 27 Python
Python实现非正太分布的异常值检测方式
Dec 09 Python
python使用rsa非对称加密过程解析
Dec 28 Python
Python中文分词库jieba,pkusegwg性能准确度比较
Feb 11 Python
如何基于python3和Vue实现AES数据加密
Mar 27 Python
python3发送request请求及查看返回结果实例
Apr 30 Python
Python代码中如何读取键盘录入的值
May 27 Python
filter使用python3代码进行迭代元素的实例详解
Dec 03 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
Feb 01 Python
在PyCharm中安装PaddlePaddle的方法
Feb 05 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
DWZ+ThinkPHP开发时遇到的问题分析
2016/12/12 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
JavaScript 一行代码,轻松搞定浮动快捷留言-V2升级版
2010/04/02 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
2014/01/09 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
Vuejs第十篇之vuejs父子组件通信
2016/09/06 Javascript
vue.js表格分页示例
2016/10/18 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
js实现的xml对象转json功能示例
2016/12/24 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
在 Node.js 中使用原生 ES 模块方法解析
2017/09/19 Javascript
Node.js的Koa实现JWT用户认证方法
2018/05/05 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
区别JavaScript函数声明与变量声明
2018/09/12 Javascript
Python实现简单的文件传输与MySQL备份的脚本分享
2016/01/03 Python
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
python利用OpenCV2实现人脸检测
2020/04/16 Python
pandas对指定列进行填充的方法
2018/04/11 Python
Python中的Numpy矩阵操作
2018/08/12 Python
python实现年会抽奖程序
2019/01/22 Python
使用python的pandas为你的股票绘制趋势图
2019/06/26 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
完美解决keras保存好的model不能成功加载问题
2020/06/11 Python
实例讲解HTML5的meta标签的一些应用
2015/12/08 HTML / CSS
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
保护环境演讲稿
2014/05/10 职场文书
关于感恩的演讲稿500字
2014/08/26 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers
python 详解turtle画爱心代码
2022/02/15 Python