jupyter或者python文件导入其他python文件模块中方法路径问题

一 使用绝对导入(通用性更好,更推荐在多种场景下使用)

无论你的项目目录是否严格符合 Python 包结构,都可以通过把目标模块所在的目录添加到 sys.path 中,然后进行绝对导入。例如,假设 aaas.py 文件在 C:/my_project/aaa/aa/aa 这个目录下(这里以 Windows 路径示例,你可以替换为实际的路径格式和具体路径),在其他 Python 文件或者 Jupyter Notebook 等环境中要导入它,可以这样操作:

python 复制代码
import sys
sys.path.append("D:\winhzq\桌面\笔记本资料\OPenMMlab\AAAA")

import torch    
import torch.nn as nn
import torch.nn.functional as F
import torch.fft


from layers.Embed import DataEmbedding
from layers.Conv_Blocks import Inception_Block_V1   
            #convolution block used for convoluting the 2D time data, changeable

上面代码是什么意思呢,定义了一个绝对路径D:\winhzq\桌面\笔记本资料\OPenMMlab\AAAA,下面导入的模块内容以这个AAA文件为根目录,layers是一个文件夹,Embed是后缀为.py的文件,这样就可以正常导入Embed.py文件的class模块了。

二 简单一些使用..表示

from ..AAA import BBB

表示要导入当前文件的上一个文件AAA.py中的一个class模块方法。

举一个例子:

from ...exp.exp_anomaly_detection import Exp_Anomaly_Detection

..两个点表示移动上移一个文件夹,在加一个点是在上移一个文件夹,所以上移两个文件夹是...

同理以此类推...exp.中exp后面一个点表示exp文件中下面的exp_anomaly_detection.py文件,然后导入方法

相关推荐
兵慌码乱4 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵6 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio9 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户03321266636710 小时前
使用 Python 从零创建 Word 文档
python
Csvn15 小时前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽16 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户5569188175318 小时前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
兵慌码乱1 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei1 天前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python