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 相关文章推荐
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
Apr 28 Python
python使用线程封装的一个简单定时器类实例
May 16 Python
结合Python的SimpleHTTPServer源码来解析socket通信
Jun 27 Python
python妙用之编码的转换详解
Apr 21 Python
Python实现多进程共享数据的方法分析
Dec 04 Python
Python判断中文字符串是否相等的实例
Jul 06 Python
Python离线安装PIL 模块的方法
Jan 08 Python
pycharm配置pyqt5-tools开发环境的方法步骤
Feb 11 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
Mar 14 Python
Anaconda和ipython环境适配的实现
Apr 22 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
Sep 16 Python
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
May 17 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
PHP4之COOKIE支持详解
2006/10/09 PHP
php二分法在IP地址查询中的应用
2008/08/12 PHP
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
JavaScript获取两个数组交集的方法
2015/06/09 Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
2015/10/28 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
js 计算图片内点个数的示例代码
2019/04/04 Javascript
微信小程序基于Taro的分享图片功能实践详解
2019/07/12 Javascript
vue使用高德地图根据坐标定位点的实现代码
2019/08/22 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
JS实现音乐导航特效
2020/01/06 Javascript
Python 命令行非阻塞输入的小例子
2013/09/27 Python
Python解释执行原理分析
2014/08/22 Python
python妙用之编码的转换详解
2017/04/21 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
Python callable()函数用法实例分析
2018/03/17 Python
Python向Excel中插入图片的简单实现方法
2018/04/24 Python
python 分离文件名和路径以及分离文件名和后缀的方法
2018/10/21 Python
Python实现多属性排序的方法
2018/12/05 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
Python 监测文件是否更新的方法
2019/06/10 Python
在python plt图表中文字大小调节的方法
2019/07/08 Python
对YOLOv3模型调用时候的python接口详解
2019/08/26 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
Python 列表的清空方式
2020/01/13 Python
python调用摄像头的示例代码
2020/09/28 Python
手术室护士自我鉴定
2013/10/14 职场文书
暑期培训班招生方案
2014/08/26 职场文书
离婚被告代理词
2015/05/23 职场文书
教你用python实现一个无界面的小型图书管理系统
2021/05/21 Python
MySQL数据库中varchar类型的数字比较大小的方法
2021/11/17 MySQL
vue选项卡切换的实现案例
2022/04/11 Vue.js