我是靠谱客的博主 典雅小兔子,最近开发中收集的这篇文章主要介绍关于python调用父级、表兄弟级目录包遇到的问题前言:一、先看一下文件之间的结构二、正确的方法:三、解释一下原因:,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
前言:
使用python构建稍微大一点的工程的时候,有时会产生多个层级的py文件,而这些属于不同层级的py文件之间可能存在相互调用,在运行主程序的时候没有问题,而在运行单个文件的时候就出现了问题。本文主要解决 ImportError: attempted relative import with no known parent package 这种问题。
一、先看一下文件之间的结构
为了能够证明调用成功,在每个对应的py文件中,加入如下代码:
尝试调用一下
出错了
初步分析:
pycharm 会自动分析代码中的语法错误,并且会自动搜索相应的包是否存在,这里没有任何提示和警告,说明从语法上来讲没有错误。
二、正确的方法:
那个abc可以取任意的名字,输出结果,调用成功。
三、解释一下原因:
python调用包时,要从当前的sys.path中查找,当前的sys.path中除了python安装路径下的函数库包路径外,还会将当前的工程路径的根目录添加到sys.path中。
此外,函数包的调用是通过名字 pakg1.pakg1_1.fct1_1_1 来进行的,如下:
所以要想调用表兄级别的包,需要将name的名字改掉。
最后
以上就是典雅小兔子为你收集整理的关于python调用父级、表兄弟级目录包遇到的问题前言:一、先看一下文件之间的结构二、正确的方法:三、解释一下原因:的全部内容,希望文章能够帮你解决关于python调用父级、表兄弟级目录包遇到的问题前言:一、先看一下文件之间的结构二、正确的方法:三、解释一下原因:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复