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 29 Python
在Python的Django框架中编写编译函数
Jul 20 Python
Python中文分词实现方法(安装pymmseg)
Jun 14 Python
详解Python中使用base64模块来处理base64编码的方法
Jul 01 Python
Python3调用微信企业号API发送文本消息代码示例
Nov 10 Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
Dec 20 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
Mar 23 Python
python3 中文乱码与默认编码格式设定方法
Oct 31 Python
django中使用Celery 布式任务队列过程详解
Jul 29 Python
Python中logging日志记录到文件及自动分割的操作代码
Aug 05 Python
python如何实现DES加密
Sep 21 Python
Python+unittest+DDT实现数据驱动测试
Nov 30 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/06/04 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
可输入的下拉框
2006/06/19 Javascript
use jscript List Installed Software
2007/06/11 Javascript
Jquery下attr和removeAttr的使用方法
2010/12/28 Javascript
JQuery.ajax传递中文参数的解决方法 推荐
2011/03/28 Javascript
对JavaScript客户端应用编程的一些建议
2015/06/24 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
AngularJs concepts详解及示例代码
2016/09/01 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
VUE中v-model和v-for指令详解
2017/06/23 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
浅谈Node模块系统及其模式
2017/11/17 Javascript
vue项目创建步骤及路由router
2020/01/14 Javascript
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python strip()函数 介绍
2013/05/24 Python
bpython 功能强大的Python shell
2016/02/16 Python
深入理解Python分布式爬虫原理
2017/11/23 Python
浅谈pycharm的xmx和xms设置方法
2018/12/03 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
Python爬虫中Selenium实现文件上传
2020/12/04 Python
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
2020/04/08 HTML / CSS
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
体育教育毕业生自荐信
2013/11/21 职场文书
小学教师听课制度
2014/02/01 职场文书
小学运动会口号
2014/06/07 职场文书
排查整治工作方案
2014/06/09 职场文书
企业口号大全
2014/06/12 职场文书
效能风暴心得体会
2014/09/04 职场文书
整顿机关作风心得体会
2014/09/10 职场文书
出生证明范本
2015/06/15 职场文书