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 相关文章推荐
解决PyCharm中光标变粗的问题
Aug 05 Python
Python实现的多线程同步与互斥锁功能示例
Nov 30 Python
Python实现的FTP通信客户端与服务器端功能示例
Mar 28 Python
关于Tensorflow中的tf.train.batch函数的使用
Apr 24 Python
在python win系统下 打开TXT文件的实例
Apr 29 Python
python生成n个元素的全组合方法
Nov 13 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
Dec 06 Python
python爬虫selenium和phantomJs使用方法解析
Aug 08 Python
学习Django知识点分享
Sep 11 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
Feb 25 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
Apr 23 Python
Python迭代器协议及for循环工作机制详解
Jul 14 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中计算时间差的几种方法
2009/12/31 PHP
php 格式化数字的时候注意数字的范围
2010/04/13 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
Laravel模型事件的实现原理详解
2018/03/14 PHP
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
javascript 进度条 实现代码
2009/07/30 Javascript
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
js字符串操作方法实例分析
2015/05/06 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
js和C# 时间日期格式转换的简单实例
2016/05/28 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
jQuery 禁止表单用户名、密码自动填充功能
2017/10/30 jQuery
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
详解如何使用router-link对象方式传递参数?
2019/05/02 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
[01:21]辉夜杯战队访谈宣传片—CDEC
2015/12/25 DOTA
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
Python 使用Numpy对矩阵进行转置的方法
2019/01/28 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
Wilson体育用品官网:美国著名运动器材品牌
2019/05/12 全球购物
优乐美广告词
2014/03/14 职场文书
承诺书怎么写
2014/03/26 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
2014年公路养护工作总结
2014/12/04 职场文书
学校教师培训工作总结
2015/10/14 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
解决Pytorch中关于model.eval的问题
2021/05/22 Python
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫