python import上一级的同级目录下的模块

python import上一级的同级目录下的模块

假设你有以下文件结构:
- main.py
- my_module/
  - __init__.py
  - my_submodule.py
- other_module/
  - some_module.py
  - 
如果你要在 my_submodule.py 中导入 other_module目录下面的 some_module.py,可以使用以下方法:
# my_submodule.py

import os
import sys
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'other_module')))

from some_module import some_function

这个方法首先使用 os.path.dirname()os.path.join() 函数来获取上一级目录 my_module 的路径,然后与 other_module 目录拼接成绝对路径,最后将此路径添加到 sys.path 中,这样我们就可以从 some_module.py 中导入需要的函数或变量了。

一个小demo

在目录调用错误是,会有报错ModuleNotFoundError: No module named 'utils.datasets'
在这里插入图片描述
此时的目录层级和import方法如下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cAq1ZmKR-1683721861761)(_v_images/20230408211736478_1816.png)]
使用上述方法修改后可改为
在这里插入图片描述
运行无报错在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值