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实现问号表达式(?)的方法
Nov 27 Python
Python抓取Discuz!用户名脚本代码
Dec 30 Python
《Python之禅》中对于Python编程过程中的一些建议
Apr 03 Python
python如何获取服务器硬件信息
May 11 Python
python脚本执行CMD命令并返回结果的例子
Aug 14 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
Python 使用type来定义类的实现
Nov 19 Python
python的time模块和datetime模块实例解析
Nov 29 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
python线程池 ThreadPoolExecutor 的用法示例
Oct 10 Python
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
Apr 27 Python
通过Python把学姐照片做成拼图游戏
Feb 15 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
2006/10/09 PHP
PHP 多维数组排序(usort,uasort)
2010/06/30 PHP
Yii学习总结之安装配置
2015/02/22 PHP
php计算两个日期相差天数的方法
2015/03/14 PHP
php中array_multisort对多维数组排序的方法
2020/06/21 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
yii2 resetful 授权验证详解
2017/05/18 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
2020/04/23 PHP
JS获取父节点方法
2009/08/20 Javascript
js 居中漂浮广告
2010/03/21 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
如何用RxJS实现Redux Form
2018/12/29 Javascript
vue实现登录功能
2020/12/31 Vue.js
Python中max函数用法实例分析
2015/07/17 Python
使用Python对微信好友进行数据分析
2018/06/27 Python
Django ORM 自定义 char 类型字段解析
2019/08/09 Python
Python自动化完成tb喵币任务的操作方法
2019/10/30 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
python反爬虫方法的优缺点分析
2020/11/25 Python
python 如何在测试中使用 Mock
2021/03/01 Python
css3的transform造成z-index无效解决方案
2014/12/04 HTML / CSS
CSS3中currentColor关键字的妙用
2016/02/27 HTML / CSS
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
美国单身专业人士在线约会网站:EliteSingles
2019/03/19 全球购物
周年庆典邀请函范文
2014/01/24 职场文书
怎样写离婚协议书
2014/09/10 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle