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 14 Python
在Python中实现贪婪排名算法的教程
Apr 17 Python
在Django框架中伪造捕捉到的URLconf值的方法
Jul 18 Python
Python中的条件判断语句与循环语句用法小结
Mar 21 Python
Python常见数据结构之栈与队列用法示例
Jan 14 Python
Python实现查找数组中任意第k大的数字算法示例
Jan 23 Python
python 三元运算符使用解析
Sep 16 Python
PyTorch和Keras计算模型参数的例子
Jan 02 Python
pytorch模型存储的2种实现方法
Feb 14 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
Jul 20 Python
Python SMTP发送电子邮件的示例
Sep 23 Python
Python图像处理之膨胀与腐蚀的操作
Feb 07 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获取mysql字段名称和其它信息的例子
2014/04/14 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
php导出csv文件,可导出前导0实例代码
2016/11/16 PHP
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
iframe 父窗口和子窗口相互的调用方法集锦
2010/12/15 Javascript
jquery 关于event.target使用的几点说明介绍
2013/04/26 Javascript
关于Javascript 对象(object)的prototype
2014/05/09 Javascript
一个可以增加和删除行的table并可编辑表格中内容
2014/06/16 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
2016/02/17 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
浅析jQuery中使用$所引发的问题
2016/05/29 Javascript
jQuery中Nicescroll滚动条插件的用法
2016/11/10 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
2016/12/08 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
[02:39]我与DAC之Newbee.Moogy:从论坛到TI
2018/03/26 DOTA
python实现实时监控文件的方法
2016/08/26 Python
Python 基础教程之闭包的使用方法
2017/09/29 Python
Python实现字典的遍历与排序功能示例
2017/12/23 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
python3反转字符串的3种方法(小结)
2019/11/07 Python
用python实现学生管理系统
2020/07/24 Python
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
Linux Interview Questions For software testers
2013/05/17 面试题
物流管理毕业生自荐信
2013/10/24 职场文书
承诺书怎么写
2014/03/26 职场文书
2015年教师节感恩寄语
2015/03/23 职场文书
2015年机关纠风工作总结
2015/05/15 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
聘任书的格式及模板
2019/10/28 职场文书
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python