关于python调用父级、表兄弟级目录包遇到的问题

编程入门 行业动态 更新时间:2024-10-24 20:12:14

关于python调用父级、<a href=https://www.elefans.com/category/jswz/34/1692802.html style=表兄弟级目录包遇到的问题"/>

关于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调用父级、表兄弟级目录包遇到的问题

本文发布于:2024-02-17 05:21:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1692803.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:表兄弟   目录   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!