【BUG记录】Python中的相对文件路径

本文探讨了Python中相对路径的使用,通过实验展示了相对路径是相对于当前运行代码的位置。当文件结构改变,相对路径解析的结果也会随之变化。同时,通过命令行运行代码时,需调整路径以确保正确导入模块。文章还提及了作者近期学习和提升的计划。
摘要由CSDN通过智能技术生成

1. 问题描述

相对文件路径是个坑。我们的文件树结构如下

root
--utils
	--test.py
	--tmp(文件夹)
--main
	--main.py

在这里插入图片描述

test.py代码如下

import os

def find_path():
    path = os.path.join("tmp")
    print(os.path.isdir(path))

if __name__ == '__main__':
    find_path()
# 执行test.py输出结果:
True

main.py代码为:

from utils.test import find_path

if __name__ == '__main__':
    find_path()
# 执行main.py输出结果:
False

2. 实验现象

2.1 改变文件结构

如果我们把文件结构变为:

root
--utils
	--test.py
--main
	--main.py
	--tmp(文件夹)

在这里插入图片描述

test.py和main.py代码不动,执行结果为:

# 执行test.py输出结果:
False
# 执行main.py输出结果:
True

因此,我们得出结论:
相对路径是指相对于当前运行代码的路径。

2.2 用命令行运行代码

我们在命令行下运行main.py,此时需要在main.py中加入一行代码,main.py变为:

# main.py
import sys
sys.path.append("E:/杂项/root/")  # 添加包搜索路径
from utils.test import find_path


if __name__ == '__main__':
    find_path()

我们在root目录下运行命令:

python main/main.py

运行结果如下:
在这里插入图片描述
如果我们进入main目录,然后运行main.py:
在这里插入图片描述
因此我们得出结论:
相对路径是指相对与当前所在目录的路径。

END:)

这里说些题外话,最近更新博客频率降低,有几方面的原因:
一是,最近在学网课,打代码,补充些基础,所以没太多时间写总结(倒是写了一些笔记);
二是,深感自己能力不足,看以前的博客觉得很多知识理解很浅薄,希望再多积累。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SinHao22

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值