python包相对导入导入上层文件夹包功能使用

2023-10-27

python导入当前文件夹中的包非常简单,但是导入上层文件夹的包就比较困难了。不过还好python解释器给出了包相对导入功能,但是与平常的相对目录写法不太一样,新手比较难以发现。
以下为对python官方文档的装载:
给定以下的包布局结构:

package/
    __init__.py
    subpackage1/
        __init__.py
        moduleX.py
        moduleY.py
    subpackage2/
        __init__.py
        moduleZ.py
    moduleA.py

相对导入使用前缀点号。 一个前缀点号表示相对导入从当前包开始。 两个或更多前缀点号表示对当前包的上级包的相对导入,第一个点号之后的每个点号代表一级。
不论是在 subpackage1/moduleX.py 还是 subpackage1/init.py 中,以下导入都是有效的:

from .moduleY import spam
from .moduleY import spam as ham
from . import moduleY
from ..subpackage1 import moduleY
from ..subpackage2.moduleZ import eggs
from ..moduleA import foo

绝对导入可以使用 import <> 或 from <> import <> 语法,但相对导入只能使用第二种形式
其中的原因在于:

import XXX.YYY.ZZZ

应当提供 XXX.YYY.ZZZ 作为可用表达式,但 .moduleY 不是一个有效的表达式。
PS: Python还有个 importlib 给出了很多API与导入系统进行交互,详见标准库文档

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python包相对导入导入上层文件夹包功能使用 的相关文章

随机推荐

  • Chatgpt4来了,测试小姐姐实测,在失业的边缘疯狂试探~

    GPT 4是OpenAI于2023年3月发布的最新人工智能模型 它是继GPT 3 5之后的又一次重大突破 它的核心技术是基于Transformer的自回归语言模型 它使用了大量的无标注数据进行预训练 学习了自然语言和其他模态之间的通用表示和
  • 关于传递函数的频率响应和低通滤波器

    关于传递函数的频率响应和低通滤波器 参考资料 动态系统的建模与分析 9 一阶系统的频率响应 低通滤波器 Matlab Simulink分析 哔哩哔哩 bilibili 以前关于这部分只是知道了而已 并没有用MATLAB认真试验过 这里借着D
  • moxa Nport配置tcp/udp实现数据发送和回传(补充数据接收错乱处理方法)

    moxa Nport配置tcp udp实现数据发送和回传 记一次吐血经历 目的 现有一内网环境需要连外网进行钉钉推送 开始使用串口连接实体电脑的方式实现 现需要撤除实体电脑 故选用串口服务器的方式实现 型号是moxa NPort5150 网
  • snipaste截图软件滚动截图_Windows截图:snipaste & QQ截图工具

    介绍Windows端两款便利的截图工具 snipaste 和 QQ截图工具 我在使用snipaste的时候 最常用的是三个功能 截图 截图并自动复制到剪切板 贴图 使用QQ截图工具 须后台运行QQ 的时候 最常用的是 OCR文本识别 标注
  • 1.4 CNN的崛起

    目录 四 CNN的崛起 4 1 SVM vs NN 4 2 ILSVRC 4 2 1 分类任务描述 4 2 2 SVM 的覆灭 4 3 CNN 的发展 四 CNN的崛起 4 1 SVM vs NN 虽然反向传播算法的提出 使得神经网络的学习
  • python内点法_最优化问题(三) 之 外点法(罚函数法)

    1 基本概念 罚函数法又称乘子法 是将约束优化问题转换为无约束最优化问题的方法之一 其基本思想就是通过在原始的目标函数中添加一个障碍函数 也可以理解成惩罚函数 来代替约束条件中的不等式约束 如果当前解不满足约束条件 就在目标项上加上一个正向
  • Web前端——CSS复习(3.27-3.31)

    1 渐变 1 什么是渐变 渐变 指的是两种或多种颜色之间的平滑过渡 aa 渐变可指定多个中间颜色值 色标 bb 渐变可以用在任何适用背景图片的地方 线性渐变 径向渐变 重复渐变 2 渐变语法 在CSS3中使用background image
  • leetcode shell题解

    195 Tenth Line print just the 10th line of a file sed n 10 10p file txt 194 Transpose File For example if file txt has t
  • 主流编程语言介绍

    目录 前言 一 编程语言作用 1 1 Python 1 2 Java 1 3 JavaScript 1 4 Go 1 5 PHP 二 Python和PHP学习网站 2 1 菜鸟教程 2 2 W3school 总结 前言 主流的编程语言有很多
  • 流图(程序图)表示程序的控制流——>McCabe方法度量程序空间复杂度

    McCabe方法 McCabe方法根据程序控制流的复杂程度定量度量程序的复杂程度 这样度量出的结果称为程序的环形复杂度 为了突出表现程序的控制流 人们通常使用流图 也称程序图 1 流图 所谓流图实质上是 退化了的 程序流程图 它仅仅描绘程序
  • OpenCDA代码学习笔记(1)——CARLA-SUMO联合仿真demo

    本文主要记录一下自己最近学习开源项目OpenCDA代码的笔记 简而言之 该项目用Python实现了全栈式自动驾驶算法的开发 也实现了CARLA SUMO的联合仿真 该部分参考了CARLA官方给出的联合仿真实例代码 学习该项目代码的主要目的是
  • 超详细Python安装教程

    Python官网地址 https www python org 1 进入官网 点击download选择系统 2 点击最新的Python版本 3 进入新页面 下拉至Files处 选择系统位数的执行运行程序 我的系统是64位 4 点击安装文件
  • 微信小程序开发笔记—获取颜色十六进制值

    获取颜色十六进制值 十六进制颜色代码是在软件中设定颜色的代码 可以先查询以下目标颜色的RGB值 然后将三个值均转换成十六进制即是目标颜色的十六进制值 转换这里可以使用电脑计算器中的程序员模式 比如目标颜色为香芋紫 查询得知该颜色的RGB值分
  • C++57个入门知识点_55 函数模板(template<typename T>;T GetMin(T a, T b){};函数模板定义;隐式实例化;显式实例化;函数模板特例;实例化后模板才有效)

    本篇主要讨论函数模板的相关知识点 前言 typename 是一个C 程序设计语言中的关键字 当用于泛型编程时是另一术语 class 的同义词 这个关键字用于指出模板声明 或定义 中的非独立名称 dependent names 是类型名 而非
  • 从 BBR 失速到带宽探测

    看一下 pacing 流失速的成因 一段时间收不到 ack 丢了 ack 自时钟 cwnd 将耗尽 bbr 虽有 cwnd gain 上图没有表现 但在该 cwnd gain 下不依赖 ack 持续坚持发送多久取决于 cwnd gain 的
  • hashmap的常见静态属性和方法

    1 hashmap的常见的静态属性 hashmap默认的容器大小 16 static final int DEFAULT INITIAL CAPACITY 1 lt lt 4 hashmap默认最大的容器大小 超过不再扩容 static f
  • MySQL存储过程调试工具dbForge Studio for MySQL

    https blog csdn net zhanghongzheng3213 article details 51462113 https blog csdn net ggjlvzjy article details 49069569 ut
  • pytorch【生成自己的数据集】

    文章目录 一 导入相关的库 二 生成数据集 定义一个创建数据集的函数 三 创建我们分类数据集 定义一个创建数据集的函数 一 导入相关的库 import skimage from skimage import io 用来导入图片 import
  • vue项目全局去掉网页滚动条

    在App vue里增加以下样式
  • python包相对导入导入上层文件夹包功能使用

    python导入当前文件夹中的包非常简单 但是导入上层文件夹的包就比较困难了 不过还好python解释器给出了包相对导入功能 但是与平常的相对目录写法不太一样 新手比较难以发现 以下为对python官方文档的装载 给定以下的包布局结构 pa