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文件,然后导入方法

相关推荐
困死,根本不会1 小时前
蓝桥杯python备赛笔记之(十)数论基础 & 日期问题
笔记·python·蓝桥杯
輕華1 小时前
Python 命令行参数处理:sys.argv 与 argparse 深度对比
python
清水白石0082 小时前
Python 内存陷阱深度解析——浅拷贝、深拷贝与对象复制的正确姿势
开发语言·python
国家二级编程爱好者2 小时前
删除typora文档没有引用的资源文件
git·python
进击的雷神2 小时前
邮箱编码解码、国际电话验证、主办方过滤、多页面深度爬取——柬埔寨塑料展爬虫四大技术难关攻克纪实
爬虫·python
深蓝电商API2 小时前
多线程 vs 异步 vs 多进程爬虫性能对比
爬虫·python
进击的雷神3 小时前
相对路径拼接、TEL前缀清洗、多链接过滤、毫秒级延迟控制——日本东京塑料展爬虫四大技术难关攻克纪实
爬虫·python
云溪·3 小时前
Milvus向量数据库混合检索召回案例
python·ai·milvus
柒.梧.3 小时前
Java集合核心知识点深度解析:数组与集合区别、ArrayList原理及线程安全问题
java·开发语言·python
AsDuang3 小时前
Python 3.12 MagicMethods - 49 - __imatmul__
开发语言·python