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 相关文章推荐
windows系统中python使用rar命令压缩多个文件夹示例
May 06 Python
把MySQL表结构映射为Python中的对象的教程
Apr 07 Python
python数组复制拷贝的实现方法
Jun 09 Python
influx+grafana自定义python采集数据和一些坑的总结
Sep 17 Python
OpenCV图像颜色反转算法详解
May 13 Python
python 在某.py文件中调用其他.py内的函数的方法
Jun 25 Python
Python3+Appium实现多台移动设备操作的方法
Jul 05 Python
Anaconda+Pycharm环境下的PyTorch配置方法
Mar 13 Python
服务器端jupyter notebook映射到本地浏览器的操作
Apr 14 Python
解决在keras中使用model.save()函数保存模型失败的问题
May 21 Python
使用keras2.0 将Merge层改为函数式
May 23 Python
如何在Python项目中引入日志
May 31 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实现即时输出、实时输出内容方法
2015/05/27 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
JS 获取滚动条高度示例代码
2013/10/24 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
IE、FF浏览器下修改标签透明度
2014/01/28 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
2014/12/03 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
举例讲解Node.js中的Writable对象
2015/07/29 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
2015/12/18 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
2016/10/09 Javascript
javascript self对象使用详解
2016/10/18 Javascript
Vuex简单入门
2017/04/19 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
2019/05/12 Javascript
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
[50:12]EG vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python打开网页和暂停实例
2014/09/30 Python
Python正则表达式完全指南
2017/05/25 Python
Pycharm设置界面全黑的方法
2018/05/23 Python
对python中的 os.mkdir和os.mkdirs详解
2018/10/16 Python
Python自动化完成tb喵币任务的操作方法
2019/10/30 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
pytorch 实现L2和L1正则化regularization的操作
2021/03/03 Python
整理的15个非常有用的 HTML5 开发教程和速查手册
2011/10/18 HTML / CSS
荷兰游戏商店:Allyouplay
2019/03/16 全球购物
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
亿企通软件测试面试题
2012/04/10 面试题
信息部岗位职责
2013/11/12 职场文书
车间统计员岗位职责
2014/01/05 职场文书
个人授权委托书
2014/04/03 职场文书
婚前协议书标准版
2014/10/19 职场文书
2015年团支书工作总结
2015/04/03 职场文书
2015年小学美术工作总结
2015/05/25 职场文书