python各层级目录下import方法代码实例


Posted in Python onJanuary 20, 2020

这篇文章主要介绍了python各层级目录下import方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

以前经常使用python2.现在很多东西都切换到了python3,发现很多东西还是存在一些差异化的。跨目录import是常用的一种方法,并且有不同的表现形式,新手很容易搞混。有必要这里做个总结,给大家科普一下:

1 同级目录下的调用:

同级目录下的调用比较简单,一般使用场景是不同类的相互调用。不用考虑路径问题,常用的格式是:from file import * 或者 from file import class/function 等。

下面以一个例子作为说明:

程序结构:

➜ dir_test git:(master) ✗ tree
.
├── pycache
│  └── test1.cpython-37.pyc
├── dir1
│  └── test3.py
├── test1.py
└── test2.py

代码:

from test1 import *
# the below is also ok
#from test1 import dir_test

def test_file2():
  print("this is test file2")

dir_test()
test_file2()

2 子目录下的调用:

子目录下的函数调用,正常的情况下,需要包含子目录的,常用的格式如下:form dir1.file import * 或者: from dir1 import file等。

下面以一个例子说明:

➜ dir_test git:(master) ✗ tree
.
├── pycache
│  └── test1.cpython-37.pyc
├── dir1
│  ├── pycache
│  │  └── test3.cpython-37.pyc
│  └── test3.py
├── test1.py
└── test2.py

代码:

from test1 import *
# the below is also ok
#from test1 import dir_test

from dir1.test3 import *

def test_file2():
  print("this is test file2")

dir_test()
dir1_test()

3 上级目录下的调用:

上级目录调用要比上两种复杂,这里要用到sys函数,首先要在将要调用的文件下面建一个空文件:init.py 然后在调用这个文件的文件里面添加:sys.path.append("…"),才可以调用成功:

下面是一个例子:文件结构:

➜ dir_test git:(master) ✗ tree
.
├── pycache
│  └── test1.cpython-37.pyc
├── dir1
│  ├── init.py
│  ├── pycache
│  │  ├── init.cpython-37.pyc
│  │  └── test3.cpython-37.pyc
│  └── test3.py
├── dir2
│  └── test4.py
├── test1.py
└── test2.py

代码:

#!python3

import sys
sys.path.append("..")
from dir1.test3 import *
#import dir1

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python读取ini文件、操作mysql、发送邮件实例
Jan 01 Python
python概率计算器实例分析
Mar 25 Python
Python3指定路径寻找符合匹配模式文件
May 22 Python
python修改字典内key对应值的方法
Jul 11 Python
举例讲解Python中的迭代器、生成器与列表解析用法
Mar 20 Python
对python判断是否回文数的实例详解
Feb 08 Python
django 2.2和mysql使用的常见问题
Jul 18 Python
Python编程快速上手——选择性拷贝操作案例分析
Feb 28 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
Jul 31 Python
使用Keras实现简单线性回归模型操作
Jun 12 Python
Python基础之常用库常用方法整理
Apr 30 Python
Python 读写 Matlab Mat 格式数据的操作
May 19 Python
Python 识别12306图片验证码物品的实现示例
Jan 20 #Python
如何基于python实现归一化处理
Jan 20 #Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
Jan 20 #Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
Jan 20 #Python
python如何通过pyqt5实现进度条
Jan 20 #Python
python super用法及原理详解
Jan 20 #Python
tensorflow 变长序列存储实例
Jan 20 #Python
You might like
php 获取xml接口数据的处理方法
2018/05/31 PHP
PHP命名空间(namespace)原理与用法详解
2019/12/11 PHP
$()JS小技巧
2007/07/21 Javascript
JQuery判断checkbox是否选中及其它复选框操作方法合集
2015/06/01 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
JavaScript 随机验证码的生成实例代码
2016/09/22 Javascript
利用jquery实现下拉框的禁用与启用
2016/12/07 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
vue-cli之router基本使用方法详解
2017/10/17 Javascript
vue.js项目nginx部署教程
2018/04/05 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
python快速查找算法应用实例
2014/09/26 Python
python通过索引遍历列表的方法
2015/05/04 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
python3获取url文件大小示例代码
2019/09/18 Python
用python绘制樱花树
2020/10/09 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
在html5的Canvas上绘制椭圆的几种方法总结
2013/01/07 HTML / CSS
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
SQL Server面试题
2013/04/04 面试题
高三生物教学反思
2014/01/25 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
三严三实民主生活会发言稿
2014/10/13 职场文书
陶瓷类经典广告语集锦
2019/10/25 职场文书