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程序中实现分布式进程的教程
Apr 28 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
Python编程实现二叉树及七种遍历方法详解
Jun 02 Python
Python探索之创建二叉树
Oct 25 Python
Django视图之ORM数据库查询操作API的实例
Oct 27 Python
基于python list对象中嵌套元组使用sort时的排序方法
Apr 18 Python
详解python的四种内置数据结构
Mar 19 Python
Python中typing模块与类型注解的使用方法
Aug 05 Python
python无序链表删除重复项的方法
Jan 17 Python
pycharm 更改创建文件默认路径的操作
Feb 15 Python
4行Python代码生成图像验证码(2种)
Apr 07 Python
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
Jun 05 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绘图技术
2013/07/03 PHP
php多线程实现方法及用法实例详解
2015/10/26 PHP
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
jQuery中对节点进行操作的相关介绍
2013/04/16 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
jquery ajax 请求小技巧实例分析
2019/11/11 jQuery
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
2020/11/02 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
[47:04]LGD vs infamous Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
python的类变量和成员变量用法实例教程
2014/08/25 Python
在类Unix系统上开始Python3编程入门
2015/08/20 Python
Python编程修改MP3文件名称的方法
2017/04/19 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
python 爬取疫情数据的源码
2020/02/09 Python
使用python matplotlib 画图导入到word中如何保证分辨率
2020/04/16 Python
PyTorch的torch.cat用法
2020/06/28 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
python实现马丁策略的实例详解
2021/01/15 Python
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
计算机专业毕业生的自我评价
2013/11/18 职场文书
2014年创卫实施方案
2014/02/18 职场文书
公司请假条范文
2014/04/11 职场文书
学校查摆问题整改措施
2014/09/28 职场文书
公司租房协议书
2014/10/14 职场文书
共青团员自我评价
2015/03/10 职场文书
小孩不笨观后感
2015/06/03 职场文书