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程序中访问Java类的简单示例
Apr 20 Python
详解Python3中的Sequence type的使用
Aug 01 Python
python使用pipeline批量读写redis的方法
Feb 18 Python
Django自带日志 settings.py文件配置方法
Aug 30 Python
Python爬虫实现“盗取”微信好友信息的方法分析
Sep 16 Python
浅析python,PyCharm,Anaconda三者之间的关系
Nov 27 Python
使用python的turtle函数绘制一个滑稽表情
Feb 28 Python
解决python DataFrame 打印结果不换行问题
Apr 09 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
May 16 Python
python3.7+selenium模拟淘宝登录功能的实现
May 26 Python
Django 实现 Websocket 广播、点对点发送消息的代码
Jun 03 Python
Python filter()及reduce()函数使用方法解析
Sep 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 setTime 设置当前时间的代码
2012/08/27 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
php pdo操作数据库示例
2017/03/10 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
禁止空格提交表单的js代码
2013/11/17 Javascript
js substring从右边获取指定长度字符串(示例代码)
2013/12/23 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
vue双向绑定的简单实现
2016/12/22 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
Vee-Validate的使用方法详解
2017/09/22 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
一步步教你用Python实现2048小游戏
2017/01/19 Python
python实现最长公共子序列
2018/05/22 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
浅述python中深浅拷贝原理
2018/09/18 Python
python aiohttp的使用详解
2019/06/20 Python
pyenv与virtualenv安装实现python多版本多项目管理
2019/08/17 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
2020/01/17 Python
CSS3悬停效果案例应用
2012/11/21 HTML / CSS
财务会计专业推荐信
2013/11/30 职场文书
《风筝》教学反思
2014/04/10 职场文书
群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
高考学习决心书
2015/02/04 职场文书
2015年班级工作总结范文
2015/04/03 职场文书
重阳节主题班会
2015/08/17 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书
中秋节作文(五年级)之关于月亮
2019/09/11 职场文书
Windows11性能真的上涨35%? 桌面酷睿i9实测结果公开
2021/11/21 数码科技