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

作者:Dawn死小烦 时间:2021-12-07 15:52:12 

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

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

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

ModuleNotFoundError: No module named 'XXXXXXX'

ImportError: attempted relative import with no known parent package

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

详细解释

注意

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

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

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

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

开始上代码

目录结构

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

a1.py

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

b1.py


from ..a.a1 import a1_print
a1_print()

运行b1.py,报错

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

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()

输出

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

BUG

Pycharm

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

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

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

import同级目录报错

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

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

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

来源:https://blog.csdn.net/ym404232992/article/details/115429984

标签:Python,同级目录,兄弟目录,调用
0
投稿

猜你喜欢

  • python 实现判断ip连通性的方法总结

    2023-06-24 22:36:53
  • 背景图片千万不要gzip压缩,尤其是PNG

    2009-06-19 12:42:00
  • Python3的高阶函数map,reduce,filter的示例详解

    2024-01-02 21:16:19
  • Java读取文件及基于正则表达式的获取电话号码功能详解

    2022-06-18 09:11:45
  • ChatGPT如何写好Prompt编程示例详解

    2022-06-30 03:55:24
  • Python lambda 匿名函数优点和局限性深度总结

    2023-07-25 19:22:00
  • 用svg制作富有动态的tooltip

    2024-04-18 10:10:42
  • 微信小程序使用npm支持踩坑

    2024-04-22 13:07:40
  • python yield迭代器详解

    2023-12-06 09:36:50
  • golang线程安全的map实现

    2024-04-28 09:10:59
  • sqlserver关于分页存储过程的优化【让数据库按我们的意思执行查询计划】

    2011-09-30 11:09:37
  • JavaScript 获取客户端计算机硬件及系统信息

    2009-01-13 17:59:00
  • PHP和JavaScrip分别获取关联数组的键值示例代码

    2023-06-16 05:30:51
  • 详解JavaScript基本类型和引用类型

    2024-04-29 13:43:56
  • win10系统中安装scrapy-1.1

    2021-07-28 07:41:28
  • Django查询优化及ajax编码格式原理解析

    2021-04-26 02:04:27
  • python 进程 进程池 进程间通信实现解析

    2022-07-05 07:38:28
  • SQL批量插入数据几种方案的性能详细对比

    2024-01-13 11:06:32
  • python 使用get_argument获取url query参数

    2023-02-12 03:52:18
  • SQL 查询性能优化 解决书签查找

    2024-01-28 08:33:53
  • asp之家 网络编程 m.aspxhome.com