python在不同层级目录import模块的方法


Posted in Python onJanuary 31, 2016

使用python进行程序编写时,经常会使用第三方模块包。这种包我们可以通过python setup install 进行安装后,通过import XXX或from XXX import yyy 进行导入。不过如果是自己遍写的依赖包,又不想安装到python的相应目录,可以放到本目录里进行import进行调用;为了更清晰的理清程序之间的关系,例如我们会把这种包放到lib目录再调用。本篇就针对常见的模块调用方法汇总下。

一、同级目录下的调有

程序结构如下:

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

若在程序test1.py中导入模块mod1, 则直接使用

import mod1

from mod1 import *;

二、调用子目录下的模块

程序结构如下:

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

这时看到test1.py和lib目录(即mod2.py的父级目录),如果想在程序test1.py中导入模块mod2.py ,可以在lib件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口),然后使用:

from lib.mod2 import *

import lib.mod2.

三、调用上级目录下的文件

程序结构如下:

-- src
    |-- mod1.py
    |-- lib
    |    |-- mod2.py
    |-- sub
    |    |-- test2.py

这里想要实现test2.py调用mod1.py和mod2.py ,做法是我们先跳到src目录下面,直接可以调用mod1,然后在lib上当下建一个空文件__init__.py ,就可以像第二步调用子目录下的模块一样,通过import  lib.mod2进行调用了。具体代码如下:

import sys
sys.path.append("..")
import mod1
import mod2.mod2
Python 相关文章推荐
python+VTK环境搭建及第一个简单程序代码
Dec 13 Python
python更改已存在excel文件的方法
May 03 Python
Tensorflow卷积神经网络实例
May 24 Python
python 创建一个空dataframe 然后添加行数据的实例
Jun 07 Python
基于Python打造账号共享浏览器功能
May 30 Python
Pandas库之DataFrame使用的学习笔记
Jun 21 Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 Python
Python简易计算器制作方法代码详解
Oct 31 Python
keras实现多GPU或指定GPU的使用介绍
Jun 17 Python
python 基于opencv实现高斯平滑
Dec 18 Python
python中的被动信息搜集
Apr 29 Python
python脚本框架webpy模板控制结构
Nov 20 Python
在Python中移动目录结构的方法
Jan 31 #Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
Jan 31 #Python
python 爬取微信文章
Jan 30 #Python
python生成验证码图片代码分享
Jan 28 #Python
详解Python网络爬虫功能的基本写法
Jan 28 #Python
Python3实现Web网页图片下载
Jan 28 #Python
Python正则获取、过滤或者替换HTML标签的方法
Jan 28 #Python
You might like
小偷PHP+Html+缓存
2006/12/20 PHP
PHP简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
一个PHP并发访问实例代码
2012/09/06 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
2016/04/11 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
jQuery 剧场版 你必须知道的javascript
2009/05/27 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
js style动态设置table高度
2014/10/21 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
浅谈JavaScript对象的创建方式
2016/06/13 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
2016/10/18 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
Angular17之Angular自定义指令详解
2018/01/21 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
js实现div色块碰撞
2020/01/16 Javascript
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
Python注释详解
2016/06/01 Python
取numpy数组的某几行某几列方法
2018/04/03 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
2018/04/18 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
django基于restframework的CBV封装详解
2019/08/08 Python
python跨文件使用全局变量的实现
2020/11/17 Python
联想新西兰官方网站:Lenovo New Zealand
2018/10/30 全球购物
C++的几个面试题附答案
2016/08/03 面试题
现金会计岗位职责
2013/12/05 职场文书
就业意向书范文
2014/04/01 职场文书
篮球比赛策划方案
2014/06/05 职场文书
师范类求职信
2014/06/21 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
南极大冒险观后感
2015/06/05 职场文书