浅谈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中的递归函数
Apr 27 Python
python简单线程和协程学习心得(分享)
Jun 14 Python
Python学习思维导图(必看篇)
Jun 26 Python
浅谈Python黑帽子取代netcat
Feb 10 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
Feb 23 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
Mar 14 Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 Python
浅谈pyqt5在QMainWindow中布局的问题
Jun 21 Python
python中的线程threading.Thread()使用详解
Dec 17 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
Apr 13 Python
Django 解决上传文件时,request.FILES为空的问题
May 20 Python
新手必备Python开发环境搭建教程
May 28 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 jQuery表单,带验证具体实现方法
2014/02/15 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
2015/02/10 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
Eval and new funciton not the same thing
2012/12/27 Javascript
结合代码图文讲解JavaScript中的作用域与作用域链
2016/07/05 Javascript
使用ajaxfileupload.js实现上传文件功能
2016/08/13 Javascript
利用VUE框架,实现列表分页功能示例代码
2017/01/12 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
js 两数组去除重复数值的实例
2017/12/06 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
JQuery Ajax动态加载Table数据的实例讲解
2018/08/09 jQuery
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
2020/08/06 Javascript
前端性能优化建议
2020/09/17 Javascript
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
Django中几种重定向方法
2015/04/28 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
numpy实现神经网络反向传播算法的步骤
2019/12/24 Python
Python使用docx模块实现刷题功能代码
2020/02/13 Python
logging level级别介绍
2020/02/21 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
暇步士官网:Hush Puppies
2016/09/22 全球购物
室内设计实习自我鉴定
2013/09/25 职场文书
修理厂厂长岗位职责
2014/01/30 职场文书
致800米运动员广播稿
2014/02/16 职场文书
勾股定理课后反思
2014/04/26 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
毕业论文答辩开场白
2015/05/27 职场文书