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根据指定日期计算后n天,前n天是哪一天的方法
May 29 Python
python中单例常用的几种实现方法总结
Oct 13 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
Dec 17 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
May 29 Python
在python中logger setlevel没有生效的解决
Feb 21 Python
Python拼接字符串的7种方式详解
Mar 19 Python
Python3内置函数chr和ord实现进制转换
Jun 05 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
Jun 23 Python
python exit出错原因整理
Aug 31 Python
详解Anaconda安装tensorflow报错问题解决方法
Nov 01 Python
Python+OpenCV实现在图像上绘制矩形
Mar 21 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 面向对象实现代码
2009/11/11 PHP
献给php初学者(入门学习经验谈)
2010/10/12 PHP
php下载文件的代码示例
2012/06/29 PHP
php检测useragent版本示例
2014/03/24 PHP
php实现在站点里面添加邮件发送的功能
2020/04/28 PHP
PHP中实现中文字串截取无乱码的解决方法
2018/05/29 PHP
JS实现随机化快速排序的实例代码
2013/08/01 Javascript
一款由jquery实现的整屏切换特效
2014/09/15 Javascript
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
2015/08/24 Javascript
javascript 中iframe高度自适应(同域)实例详解
2017/05/16 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
vue-cli下的vuex的简单Demo图解(实现加1减1操作)
2018/02/26 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
微信小程序实现两个页面传值的方法分析
2018/12/11 Javascript
JS实现继承的几种常用方式示例
2019/06/22 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
vue 翻页组件vue-flip-page效果
2020/02/05 Javascript
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
python 排列组合之itertools
2013/03/20 Python
Python内置函数OCT详解
2016/11/09 Python
python下载图片实现方法(超简单)
2017/07/21 Python
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
Python将列表中的元素转化为数字并排序的示例
2019/12/25 Python
深入了解NumPy 高级索引
2020/07/24 Python
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
解决margin 外边距合并问题
2019/07/03 HTML / CSS
医学生职业规划范文
2014/01/05 职场文书
财产公证书
2014/04/10 职场文书
公司贷款承诺书
2014/05/30 职场文书
青年文明号申报材料
2014/12/23 职场文书
python如何进行基准测试
2021/04/26 Python
Oracle配置dblink访问PostgreSQL的操作方法
2022/03/21 PostgreSQL
阿里云 Windows server 2019 配置FTP
2022/04/28 Servers