python的包导入问题(一)from . import 的使用
必备知识:from . import,“.” 代表使用相对路径导入,即从当前项目中寻找需要导入的包或函数
一、问题描述:
工作项目内的__init__文件初始化一个函数func,同一工作目录的 ccc模块 调用该函数,可以用:
(1)from file03 import func
(2)from . import func
然后执行func(),让ccc执行时,打印‘----’
但是使用 第(2)种方法调用func后,当ccc被执行时报错如下:
from . import func
SystemError: Parent module '' not loaded, cannot perform relative import
(提示父模块没有加载,无法展示导入关系)
而使用第(1)种导入方法
导入时不存在这样的报错
二、下面用项目外的py文件导包使func执行:
现在我在工作目录下新建一个py文件test(test与file03平级),使用test调用ccc,让函数func打印内容:
此时若在ccc使用方法(2)导入函数,test执行不会发生报错
可以正常打印
三、拓展:
在file03 下新建py文件,使用 from . import ccc,该文件被执行时,也会报同样的错误,而用from file03 import ccc不会报错,说明使用 . 导包和使用 . 导函数一样也不能正常执行
四、结论:
py文件若含有from . import 导包或导入函数的情况,无法在该文件下正常执行,而父模块被外部加载时可以正常被使用。
python的包导入问题(一)from . import 的使用相关推荐
- python哪里下载import包-【Python实战】模块和包导入详解(import)
1.模块(module) 1.1 模块定义 通常模块为一个.py文件,其他可作为module的文件类型还有".pyo".".pyc".".pyd&qu ...
- python哪里下载import包-【Python包】模块和包导入详解(import)
1.模块(module) 1.1 模块定义 通常模块为一个.py文件,其他可作为module的文件类型还有".pyo".".pyc".".pyd&qu ...
- 解决Android v4、v7包导入标红问题import android.support.v4.app.ActivityCompat;import android.support.v7.app
解决Android v4.v7包导入标红问题 由于安卓经常性的升级,很多包都有过迁移,会造成有些包的路径变了. 如果有如下错误: import android.support.v4.app.Activ ...
- python跨包导入包_python引入跨模块包
人生苦短,我学python. 最近学习python,由于包的模块分的比较多.所以要用到跨模块引入 且调用中间的方法 整体目录结构如下. 需求: 在 API模块 user.py 中 调用 plugin ...
- idea jar包导入_IDEA 实用功能Auto Import:自动优化导包(自动删除、导入包)
下面介绍一下IDEA的一个能显著提升写代码效率的非常好用的功能设置-- Auto Import Auto Import的功能是可以帮助我们自动删除无用的包Import(未被引用),以及自动Import ...
- unity资源包导入错误 Failed to import package with error Couldnt decompress package
原因如下: 1.资源包命名问题,有中文或特殊字符: 2.资源包路径上有中文命名的文件: 3.如果是从资源商店下载的包,可以在C:\Users\DELL-pc\AppData\Roaming\Unity ...
- python导包报错from xxx import yyy no module named ‘xxx‘
import os import sys sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) fr ...
- Python中包含义及其定义
对于一个需要实际应用的模块而言,往往会具有很多程序单元,包括变量.函数和类等,如果将整个模块的所有内容都定义在同一个 Python 源文件中,这个文件将会变得非常庞大,显然并不利于模块化开发. 什么是 ...
- python 第三方包自动导入_7行代码,彻底告别python第三方包import导入问题!
最近有不少小伙伴咨询关于pyton第三方包导入的问题,今天我们就来聊聊第三方包导入那些事. 随着对python学习的渐入臻境,越来越多的小伙伴们开始导入自己所需的第三方包,实现各种各样的功能.但是,他 ...
最新文章
- LVM逻辑卷创建管理
- 计算机设备采购申请,办公室采购电脑请示报告
- 一步一步教你如何向ALEXA提交网站介绍信息
- 常考数据结构与算法:排序
- 今天开始学Pattern Recognition and Machine Learning (PRML),章节5.2-5.3,Neural Networks神经网络训练(BP算法)
- Java资深反射玩家
- qs.parse和qs.stringify
- c语言程序改频率,求问。这个fft c语言程序 采样的声音频率为多少?
- $Android连续按返回键两次实现退出程序
- 产品经理的冬天来了嘛?
- 为什么自己编写的页面总是在那里抖动_为什么小红书的简介添加不上 个性签名的修改方法...
- vc 时间字符串转时间戳_Instant(时间戳)
- hive 的 left semi join 讲解与left jion的区别
- 网站设计整体策划流程
- 数据分析师的30种死法
- 为什么要使用Keil MDK-ARM中间件库?
- android 弹幕礼物,Android B站开源的弹幕库的用法以及坑
- Android之布局详解
- CSS 实现鼠标移动到图片上图片变大
- 悲剧的购物经历(附:最好不要买响尾蛇3G)
热门文章
- 维基百科 多线程 翻译
- 【论文笔记】Gradient Episodic Memory for Continual Learning
- Neural Filters:智能肖像、妆容迁移
- (转)validateRequest=false
- 计算机游戏运行程序的完整过程,如何充分的利用我电脑的内存去运行一个程序(游戏)...
- Elasticsearch 内置分词器
- asus笔记本花屏的判断
- 打火匣(The Tinderbox)--小林最爱童话推荐
- 吊爆了,这一篇一出来:MybatisPlus使用Wrapper实现查询功能
- android手机到iphone6s,苹果6s升至iOS14.4后,我上手体验了一番,跟大家说说心里话吧...