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 相关文章推荐
下载给定网页上图片的方法
Feb 18 Python
Windows8下安装Python的BeautifulSoup
Jan 22 Python
python并发编程之多进程、多线程、异步和协程详解
Oct 28 Python
Python3.6简单反射操作示例
Jun 14 Python
深入解析神经网络从原理到实现
Jul 26 Python
Django之模板层的实现代码
Sep 09 Python
python修改文件内容的3种方法详解
Nov 15 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
python基于socket函数实现端口扫描
May 28 Python
matplotlib更改窗口图标的方法示例
Feb 03 Python
Python爬虫数据的分类及json数据使用小结
Mar 29 Python
pytorch加载预训练模型与自己模型不匹配的解决方案
May 13 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如何使用Memcached
2016/04/05 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
javascript 时间比较实现代码
2009/10/28 Javascript
Jquery ajaxsubmit上传图片实现代码
2010/11/04 Javascript
jquery 插件学习(五)
2012/08/06 Javascript
Javascript 命名空间模式
2013/11/01 Javascript
JavaScript中奇葩的假值示例应用
2014/03/11 Javascript
jQuery的缓存机制浅析
2014/06/07 Javascript
jquery中show()、hide()和toggle()用法实例
2015/01/15 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
JavaScript代码性能优化总结篇
2016/05/15 Javascript
js实现div模拟模态对话框展现URL内容
2016/05/27 Javascript
js实现随机抽选效果、随机抽选红色球效果
2017/01/13 Javascript
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
浅谈如何使用webpack构建多页面应用
2018/05/30 Javascript
解决vue的 v-for 循环中图片加载路径问题
2018/09/03 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
java和js实现的洗牌小程序
2019/09/30 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
2020/11/09 Javascript
python正则表达式re模块详细介绍
2014/05/29 Python
详解Python中用于计算指数的exp()方法
2015/05/14 Python
Numpy 中的矩阵求逆实例
2019/08/26 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
android面试问题与答案
2016/12/27 面试题
应届毕业生应聘自荐信
2013/12/07 职场文书
居委会工作总结2015
2015/05/18 职场文书
2015年校医个人工作总结
2015/07/24 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers
Vue3中toRef与toRefs的区别
2022/03/24 Vue.js