BUG记录Python中的相对文件路径
Posted sin(豪)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:)
这里说些题外话,最近更新博客频率降低,有几方面的原因:
一是,最近在学网课,打代码,补充些基础,所以没太多时间写总结(倒是写了一些笔记);
二是,深感自己能力不足,看以前的博客觉得很多知识理解很浅薄,希望再多积累。
以上是关于BUG记录Python中的相对文件路径的主要内容,如果未能解决你的问题,请参考以下文章