python下的路径读取方式

之前每次遇到读取文件,都需要调半天代码,把路径试出来,今天在拖文件的时候突然领悟到了,希望写完这篇博客不要再被路径支配了
首先,用’/'就行了。。。

data_dir = '../StanfordDog/'

我以为路径错了,用’//'就能正确。。。

如果取上一级目录或上一级目录下的文件,需要用’…/',表示当前脚本的上一级目录
python下的路径读取方式_第1张图片

data_dir = '../CubBird'

在这里插入图片描述
同理上上级就再多加一个’…/’

data_dir = '../../dataset'

在这里插入图片描述
同级目录下直接引用或添加’./’

data_dir = 'aaa'
data_dir = './aaa'

在这里插入图片描述
使用如下语句可以检查读取的路径是否存在:

os.path.isdir(dir)

返回的是一个布尔值,‘True’或‘False’

我突然领悟是因为,原本我的test.py脚本是创建在根目录下的,与dataset文件夹同级
python下的路径读取方式_第2张图片

data_dir = '/FewShot/Datasets/Stanford_dogs/'   
print(os.path.isdir(data_dir ))

上面的语句是一开始的写的,返回的是True,可以被读取到
然后我把test.py拖到了dataset文件夹下的子文件夹中,如上图,代码就自动变成了

data_dir = '../../FewShot/Datasets/Stanford_dogs/'    

所以’…/‘的意思是返回上一级目录,现在的代码需要返回到上上级目录下,才能读取到FewShot文件夹
原来我以前都是乱用,只是凑巧能用,我还奇怪为什么一会要用’./‘,一会得用’…/’

至于’/‘与’\‘的区别,用’/‘就可以了,’\'会牵扯到转义字符
在这里插入图片描述

你可能感兴趣的:(python)