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

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

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

猜你喜欢

转载自blog.csdn.net/qq_44166630/article/details/126164228