Python 同级目录(兄弟目录)调用方式

 更新时间:2022年02月11日 10:37:34   作者:Dawn死小烦  
这篇文章主要介绍了Python 同级目录(兄弟目录)调用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

同级目录(兄弟目录)调用

看书看得好好的,一写代码就出错!!!

这个问题是大家初学Python的时候会遇到的一个很常见的问题,然后我们去搜网上的教程,自己试一试还是都是BUG,常见的就是这两个命令:

ModuleNotFoundError: No module named 'XXXXXXX'

ImportError: attempted relative import with no known parent package

教程一般都是很详细的给你分析,然后给你井不同文件的调用,其实整那么多没事的干嘛是不是,我们要的只是解决办法。

详细解释

注意

1、我只说兄弟的文件夹下面的调用,父子啥的__init__.py 搜一搜就可以了

2、不要用Vscode ,Vscode的环境变量你是整不明白的

3、我没太多的时间花费在博客上,所以遇到啥才会去扩充啥,大家也可以在下面留言遇到的问题和解决的办法

4、可能我说的也会有错误,但我主要的是解决我自己遇到的问题

开始上代码

目录结构

在这里插入图片描述

a1.py

def a1_print():
    print("a1_print  OK")

b1.py

from ..a.a1 import a1_print
a1_print()

运行b1.py,报错

在这里插入图片描述

ImportError: attempted relative import with no known parent package

原因

文件夹被python解释器视作package需要满足两个条件:

  • 文件夹中必须有__init__.py文件,该文件可以为空,但必须存在。不能作为顶层模块来执行该文件夹中的py文件,即使用…的文件夹外边还需要有包含__init__.py的文件夹 (即不能作为主函数的入口)
  • 主就是 不能作为主函数的入口,兄弟引用不能作为入口,意思是你不能直接运行b1.py,你可以在c1.py 这样弄,b1.py 不可以 不可以 不可以

我非要咋解决

修改b1.py

import sys# 加了这了
sys.path.append("..")  ## 这个
from a.a1 import a1_print  #改了这个
a1_print()

输出

在这里插入图片描述

BUG

Pycharm

在这里插入图片描述

我觉得还是不管它吧,能运行就不错了,没有啥影响。

不要用Vscode 不要用Vscode 不要用Vscode 

import同级目录报错

pycharm不会将当前文件目录自动加入自己的sourse_path。右键make_directory as-->Sources Root将当前工作的文件夹加入source_path就可以了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 关于pandas的离散化,面元划分详解

    关于pandas的离散化,面元划分详解

    今天小编就为大家分享一篇关于pandas的离散化,面元划分详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 初学者快看,Python下划线的五个作用介绍

    初学者快看,Python下划线的五个作用介绍

    大家好,本篇文章主要讲的是初学者快看,Python下划线的五个作用介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 利用python中pymysql操作MySQL数据库的新手指南

    利用python中pymysql操作MySQL数据库的新手指南

    PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,Python2中是使用mysqldb,这篇文章主要给大家介绍了关于利用python中pymysql操作MySQL数据库的相关资料,需要的朋友可以参考下
    2021-09-09
  • 对Python信号处理模块signal详解

    对Python信号处理模块signal详解

    今天小编就为大家分享一篇对Python信号处理模块signal详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python 实现将数组/矩阵转换成Image类

    Python 实现将数组/矩阵转换成Image类

    今天小编就为大家分享一篇Python 实现将数组/矩阵转换成Image类,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python decimal模块的使用示例详解

    Python decimal模块的使用示例详解

    decimal 模块decimal意思为十进制,这个模块提供了十进制浮点运算支持,本篇文章主要给大家讲解Python decimal模块的使用,需要的朋友可以参考下
    2023-03-03
  • Python的dict字典结构操作方法学习笔记

    Python的dict字典结构操作方法学习笔记

    这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下
    2016-05-05
  • 使用Python简单的实现树莓派的WEB控制

    使用Python简单的实现树莓派的WEB控制

    这篇文章主要介绍了使用Python简单的实现树莓派的WEB控制的相关资料,需要的朋友可以参考下
    2016-02-02
  • python3+PyQt5实现文档打印功能

    python3+PyQt5实现文档打印功能

    这篇文章主要为大家详细介绍了python3+PyQt5实现文档打印功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 解决Windows下python和pip命令无法使用的问题

    解决Windows下python和pip命令无法使用的问题

    这篇文章主要介绍了解决Windows下python和pip命令无法使用的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08

最新评论