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多线程编程(三):threading.Thread类的重要函数和方法
Apr 05 Python
Python自动化开发学习之三级菜单制作
Jul 14 Python
机器学习python实战之手写数字识别
Nov 01 Python
python构建深度神经网络(DNN)
Mar 10 Python
django反向解析和正向解析的方式
Jun 05 Python
python 定时器,轮询定时器的实例
Feb 20 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
Jun 25 Python
python中比较两个列表的实例方法
Jul 04 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
Aug 19 Python
Django实现auth模块下的登录注册与注销功能
Oct 10 Python
python如何使用代码运行助手
Jul 03 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
中国第一家无线电行
2021/03/01 无线电
php不用正则验证真假身份证
2013/11/06 PHP
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
PHP通过文件保存和更新信息的方法分析
2019/09/12 PHP
xml文档转换工具,附图表例子(hta)
2010/11/17 Javascript
简单的Jquery全选功能
2013/11/07 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
JQuery遍历json数组的3种方法
2014/11/08 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
2014/12/18 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
2017/11/03 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
Node.js安装详细步骤教程(Windows版)详解
2019/09/01 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
python脚本内运行linux命令的方法
2015/07/02 Python
Python二分查找详解
2015/09/13 Python
Python编写简单的HTML页面合并脚本
2016/07/11 Python
Python3.6连接Oracle数据库的方法详解
2018/05/18 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
python 统计列表中不同元素的数量方法
2018/06/29 Python
python使用matplotlib模块绘制多条折线图、散点图
2020/04/26 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
html5新特性与用法大全
2018/09/13 HTML / CSS
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
Wiggle中国:英国骑行、跑步、游泳 & 铁三运动装备专卖网店
2016/08/02 全球购物
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
澳大利亚足球鞋和服装购物网站:Ultra Football
2018/10/11 全球购物
大学生职业生涯规划书模板
2014/01/18 职场文书
《骆驼和羊》教学反思
2014/02/27 职场文书
4s店市场专员岗位职责
2014/04/09 职场文书
教书育人演讲稿
2014/09/11 职场文书
普希金的诗歌赏析(3首)
2019/08/20 职场文书
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang